门户
图库
科技
数据
VR
区块链
学院
论坛
百科
导航
登录
注册
帮助
请选择
进入手机版
|
继续访问电脑版
公社首页
中国人工智能社区
公社版块
公社群组
Group
升级会员
用户名
Email
自动登录
找回密码
密码
登录
立即注册
登录后你可以:
登录
首次使用?
点我去注册
搜索
搜索
本版
帖子
公社群组
用户
道具
勋章
任务
设置
我的收藏
退出
首页
›
智能技术
›
图像识别
›
Appium图像辨认技术OpenCV,这波操作你必须GET ...
返回列表
Appium图像辨认技术OpenCV,这波操作你必须GET
[复制链接]
惠东小子85
2020-9-7 14:39:16
显示全部楼层
|
阅读模式
在我们做 App 自动化测试的时分,会发现很多场景下的元素没有 id、content-desc、text 等属性,并且有能够会碰到由于开发采用的是自定义 View,View 中的元素也无法辨认到,很多的自动化测试框架对此类场景一筹莫展。
Appium 在 V1.9.0 中给我们带来了针对图像辨认的全新图片元素定位的方法:-image
在 Appium 中用到的图像辨认库是 OpenCV,由于在 Appium V1.9.0 中-image查找元素方式才被引入出去,所以需求保证你有安装 V1.9.0 或以上版本的 Appium。
这里需求留意,Appium 图像辨认的运用只能适用于经过 npm 安装 Appium 的方式,经过 Appium-desktop 安装 Appium 的方式是不适用的。
Step1:经过 npm 安装 Appium
/安拆卸置 Node.js
1. 下载对应系统和位数的node.js安装包https://nodejs.org/en/download/
2. 选择安装途径,我这里选择安装到D盘
3. 进入cmd,输入node-v以及npm-v检测(npm是node.js自带的包管理器)
4. 指定npm安装的全局模块和缓存的途径,假如不指定默许会安装到C盘中【C:\Users\用户名 AppData\Roaming\npm】
■ 在 nodejs 目录下新建【node_cache】和【node_global】目录
■ 输入如下命令指定:
5. 配置 node.js 环境变量
■
在系统变量中新建【NODE_PATH】变量名,变量值为
【D:\software\nodejs\node_global\node_modules】
■
在系统变量【PATH】中追加
【%NODE_PATH%】
■
将用户变量【Path】中原来的【C:\Users\用户名\AppData\Roaming\npm】
修正为【D:\software\nodejs\node_global】
/安装 Appium
1. 设置 npm 淘宝镜像地址
2. npm 经过全局的方式安装 Appium(默许下载安装最新版本 Appium)
Step2:安装opencv4nodejs所需求的依赖
/安装 Cmake
1. 进入到 https://cmake.org/download/下载对应软件包,解压到恣意目录
2.找到系统变量Path
追加【D:\software\cmake-3.18.1-win64-x64\bin】,其中 cmake-3.18.1-win64-x64 是为 Cmake 解压之后的目录名
/安装 building tools
Step3:Appium 中安装图像辨认模块 opencv4nodejs
由于网络和各种环境成绩的影响,经过官方引荐的【npm i -g opencv4nodejs】命令直接安装 opencv4nodejs 模块的话,会发现存在很多的成绩。
https://www.npmjs.com/package/opencv4nodejs#how-to-install外面的阐明,这里运用的是
手动安装 OpenCV
的方式
1. 在系统环境变量中添加:【OPENCV4NODEJS_DISABLE_AUTOBUILD】变量名,变量值为【1】
2. 安装choco(windows下面的软件管理方案,可以处理部署软件复杂、容易出错成绩)官网安装:https://chocolatey.org/install,打不开的同窗给大家搬运过来:
■
运用管理员运转 powershell,检查执行策略:执行指令【Get-ExecutionPolicy】
■
假如结果为Restricted,那么执行指令【Set-ExecutionPolicy AllSigned】或者【Set-ExecutionPolicy Bypass-Scope Process】,直到结果为【RemoteSigned】
■
执行下面指令安装
3. 经过 choco 安装 OpenCV,执行下面的安装指令即可。
终了后 choco 默许安装在 C:\tools 目录中。
4. 设置 OpenCV 环境变量
5.
安装opencv4nodejs进入cmd,执行命令
命令执行过程中,会对之前经过 choco 方式下载好的包进入编译,编译过程中能够会出现卡住,关掉 cmd 窗口重新再执行命令即可。
Step1:截取所需停止图像辨认的元素
1. 将需求停止图像辨认元素所在页面截屏
2. 经过 adb pull 命令拉取截屏图片出来
3. 用画图工具打开--划重点,一定要保证图片是原大小的,不能放大或者减少图片
4. 截取其中的元素保存为图片
Step2:代码完成
java-client 库中有提供了“MobileBy.image”以及“findElementByImage”方法,需求留意的是参数类型是 String 类型(以 MobileBy.image 为例)
这里我们需求先将图片转换为 Base64 编码格式,转换代码如下:
测试代码如下:
Step3:执行
1. 开启Appium Server,经过appium-a127.0.0.1-p4723命令启动
2. 启动设备,经过adb devices检测设备
3. 执行case
效果如下:
Appium 图像辨认的准确率是跟 Appium 的截图功能以及我们所提供的元素截图相关的,有时分我们会发现更换一台不同分辨率的手机之后脚本就会执行失败。Appium 提供了一些设置可以提高图像辨认的准确率或加快图像辨认的速度。
运用示例:
以下设置项来自官方阐明
阐明:本文为柠檬班歪歪教师原创,转载需注明出处
有任何成绩都欢迎来回复私信讨论哦~加软件测试交流
QQ群:972956275
,还可以加微信
13327216815
,备注:头条,即可获取
收费
测试学习视频干货材料哦!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有帐号?
立即注册
x
回复
使用道具
举报
大神点评
3
专业学霸5
2020-9-7 20:23:32
来自手机
显示全部楼层
为了三千积分!
回复
使用道具
举报
v7270
2020-9-8 20:52:11
来自手机
显示全部楼层
我有一个大胆的想法。。。
回复
使用道具
举报
绿色de阳光
2020-9-9 13:58:54
来自手机
显示全部楼层
垃圾内容,路过为证。
回复
使用道具
举报
发表新帖
回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
本版积分规则
发表回复
回帖后跳转到最后一页
惠东小子85
高级会员
0
关注
0
粉丝
92
帖子
Ta的主页
发布
加好友
最近发表
2023年全球智能可穿戴腕带出货量及竞争格局分析
智能穿戴概念8日主力净流出24.84亿元,光启技术、立讯精密居前
智能穿戴概念11日主力净流入5.62亿元,三六零、兆易创新居前
智能穿戴概念10日主力净流出23.94亿元,立讯精密、中兴通讯居前
智能穿戴概念9日主力净流入6998.51万元,水晶光电、九安医疗居前
云天励飞豪掷1.8亿收购智能穿戴IDH方案商,引领行业新潮流
公社版块
版块推荐
更多版块
智能穿戴
智能家居
机器人
无人驾驶
无人机
反馈吐槽
闲聊灌水
大话智能
大数据
图像识别
自然语言
数据挖掘
大话智能
数据挖掘
北大讲座
清华讲座
网贷观察
股市评论
区块链
闲聊灌水
反馈吐槽
站务通知
关注我们