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
评论区