侧边栏壁纸
博主头像
lai博主等级

  • 累计撰写 21 篇文章
  • 累计创建 12 个标签
  • 累计收到 0 条评论

Appium实现图像识别

lai
lai
2022-04-20 / 0 评论 / 0 点赞 / 77 阅读 / 4,003 字
温馨提示:
本文最后更新于 2022-04-20,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

Appium实现了通过opencv识别图片,从而获取到图片对应元素进行相关操作,或者进行图像对比。该功能依赖opencv4nodejs,根据现有系统环境整理相关操作流程,以供参考

环境:

Node.js v12.16.1

npm@6.13.4

Appium v1.22.3

cmake-3.23.1-windows-x86_64

Python 2.7.15

win10

注意事项

cmd窗口要使用管理员权限,避免部分模块安装失败

配置npm

为解决网络问题这里npm设置为淘宝镜像

cmd执行npm config set registry https://registry.npm.taobao.org

安装Appium

cmd执行npm install -g appium

笔者问答: 已经下载了Appium Desktop(Appium Server GUI)需不需要再执行这步安装appium?

是需要的!

个人认为Appium Desktop并不能识别到后续通过npm方式安装的opencv4nodejs模块,应该式由于工程模块不在相同路径导致

启动方式

appium -a 127.0.0.1 -p 4723

下载Cmake

OpenCV 使用 Git 作为版本管理工具,使用 Cmake 来构建工程, 下载编译后的文件即可

个版本下载地址

cmake-3.23.1-windows-x86_64下载地址

1、下载完后解压到任意路径

2、在环境变量中path添加对目录,如:D:\aapium\cmake-3.23.1-windows-x86_64\bin

安装windows-build-tools

在window下编译原生Node模块官网

cmd执行npm install --global windows-build-tools

安装后,npm 会自动执行该模块,下载并安装 Visual C++ Build Tools,微软为大部分用户免费提供(作为 Visual Studio 社区的一部分,请查阅许可证以确定您是否符合条件) . 这些工具是编译流行的本地模块所必需的。如果尚未安装,它还将安装 Python 3.8,适当地配置您的机器和 npm。

安装成功后,由于笔者没默认环境是没有Python,工具包会自行安装Python,相关路径:C:\Users\[userName]\.windows-build-tools\python27

配置Python

变量名PYTHON

变量值C:\Users\[userName]\.windows-build-tools\python27

path中添加%PYTHON%

OpenCV安装

根据需求安装OepnCV并配置相关路径到系统环境变量

下载方式

1、github

2、官网

3、使用chocolatey

Chocolatey是Windows上的包管理工具,就是安装软件包的。开发人员可以用来安装和配置自己的开发环境,例如我需要的JDK、Node、git、Chrome、VS Code、Android Studio、IntelliJ IDEA、WebStorm、7-zip、Hyper....很多人都会问哪里下载Chrome,除了现在google.cn/chrome可以下载之外,choco是安装Chrome的最好方式。

使用管理员权限打开powershell检查执行策略:Get-ExecutionPolicy,如果返回Restricted,则输入指令Set-ExecutionPolicy RemoteSigned输入Y确认

cmd安装Chocolatey

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

powershell安装Chocolatey

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

安装完成检查指令

choco 

Powershell安装OpenCV

choco install OpenCV -y -version 4.5.0

完毕后 choco 默认安装在 C:\tools 目录中

4、见文章末附件列表

配置OpenCV环境变量

变量名【OPENCV_BIN_DIR】变量值为【C:\tools\opencv\build\x64\vc15\bin】

变量名【OPENCV_DIR】,变量值为【C:\tools\opencv\build\x64\vc15】

变量名【OPENCV_INCLUDE_DIR】,变量值为【C:\tools\opencv\build\include】

变量名【OPENCV_LIB_DIR】,变量值为【C:\tools\opencv\build\x64\vc15\lib】

系统变量 Path,追加【%OPENCV_BIN_DIR%】

安装opencv4nodejs模块

添加环境变量 变量名【OPENCV4NODEJS_DISABLE_AUTOBUILD】,变量值为【1】

执行安装指令

npm i -g opencv4nodejs

关闭命令行窗口,重新打开,输入appium-doctor(没有的话就输入 npm install -g appium-doctor去安装),opencvnodejs 这一栏前面,有个绿色的框 ,则是成功安装了opencv4nodejs

Appium图片识别(java-client)

通过实现裁剪好的的图片元素转换成base64字符串与当前页面匹配获取元素

 driver.findElement(AppiumBy.ByAndroidUIAutomator.image("imageAsBase64String"))).click()

附件

opencv-4.5.0-vc14_vc15 提取码: ppgb

相关文献

Chocolatey安装和使用

Appium图像识别技术OpenCV

0

评论区