使用 Appium做自动化测试过程中遇到了个别元素无法使用ID、name、text获取,查看Appium API发现可以使用image获取元素,一阵兴奋在By中添加findByImage,然后代码
一顿操作猛如虎,执行结果很痛苦,异常捕获提示缺少opencv4nodejs模块。继续撸起袖子加油干,安装opencv4nodejs。
首先介绍下我的系统环境,win10 64位家庭中文版。接下来开始安装opencv4nodejs,提前准备好需要的文件以及依赖为后续安装做准备。
一、首先下载Cmake并且安装
下载地址:https://github.com/Kitware/CMake/releases
我选择了v3.18.0-rc2版本,安装过程比较简单这里就不作复述。
二、接下来安装windows的构建工具windows-build-tools
由于npm安装windows-build-tools受网络影响经常出现异常,所以我提前安装了cnpm,然后通过cnpm安装构建工具,安装命令 cnpm install --global windows-build-tools
看日志应该是安装了VS的msbuild和Python。安装完成后执行npm config -g set msvs_version 2017设置vs环境,我使用的是vs2017。
三、安装opencv4nodejs
使用命令cnpm install --save opencv4nodejs安装opencv4nodejs,过程报错:
提示no cmake vs compiler found for msversion。应该是vs编译器的问题,卸载掉windows构建工具自带的msbuild。重新执行命令行安装 cnpm install --global windows-build-tools --vs2015,然后继续安装opencv4nodejs。
finished 安装成功,迫不及待想用代码验证下能不能根据图片捕获元素,说干就干。
四、验证功能
找到之前写好的用例继续调试
确定代码执行到使用图片查找元素这一步,执行一下代码看看能不能获取到元素
完美收官,找到了元素并跳转。