什么时候能兼容一下 ios 的高版本(ios18 必定报错),weditor 可以查看的 ios 设备,使用 uiauto.dev 报错 (ios15,玄学有段时间不能用)
a、b 返回后,提取的参数存环境变量啊
c 返回后,直接拿变量..,注意 abc 的执行顺序
1、自动化流程中按用例功能执行,但是某些关键步骤可以加异常兜底处理(如我一开始的图中的扩展代码)
2、执行过程中遇到失败(可能是 app 端,也可能是设备端),当前流程失败,继续后续流程,当前流程集合执行完一轮后(按模块分的,或者设备分的 N 个流程集合),按预设条件判断某流程是否需要重新执行
3、如需要人机交互的直接剔除自动化,或者接口重置设备
4、设备添加的可以单独提取成一个流程集合,意味着你要有 2 套设备,一套日常挂机全功能可用,另外一套走添加已经添加后的普通校验一下可用(避免添加影响其他 case 的执行)
正常的 UI 自动化的思路 1、定位路径 2、对这个元素做什么操作,拿每一行数据去转成对应的 ios、安卓的自动化代码执行(我用的 ios 的 wda,安卓的 uiautomator2)
主要是为了复用,多行数据组成一个小 case,N 个小 case 组成一条正常的业务流程
上干货
尝试新建个 csv 文档试试 (txt 纯文本改名)? 不行再试试这个 encoding='utf-8-sig'
你的 csv 不是纯的吧,
1.直接打开应该是带了格式的那种,
2.或者用 pycharm 打开文本,能看到不是单纯的 逗号隔开的,或者第一个行有 ** 之类的字符
B 端吧,注重功能点和场景
你启动的时候是不是指定了 app,不指定 app,只指定设备就可以了
你的命令有点神奇,你给手机 1 的设备启动 wda 用 8101,手机 2 用 8102?这么麻烦的吗
一般人都是直接
iproxy 8101 8110 -u 03560c990d30eaaf3602cd02f8c509a8a2518018
iproxy 8102 8110 -u 00008020-000A714426D3002E
对比了 100 多次,才不到 3s
是 opencv 的
1、截取目标元素所在位置的图片(直接截图,然后裁剪元素区域)
2、拿截图去和已经固定好的几张图片做相似度对比(设备适配问题,截图对比的时候需要 创建目标图像的金字塔)
方案 1、for 循环点击,直到出现点击之后的效果出来(sleep(0.5),for 循环 60 次差不多就是 60s)
方案 2、变化前或者变化后的图片是固定的几种图片的话,直接把图片都截取下来,在代码里面判断图片是否在界面上
加个 abtest,上线了先对测试开放新功能,没问题了就全量开放
1、正常都有分页的
2、完全不管分页的话,改 ios
如果只是要点击,那拿显示区的内容没毛病,想爬内容抓不到包?
滑动,元素都捞出来,去重
直接参考 airtest 的这个文章:文字识别技术升级:Airtest 与 PaddleOCR 模型的协作小技巧
https://mp.weixin.qq.com/s/6Y6BeFnoXfz0qKf2P_FaOw
一次图像识别的交互需要多久,针对跑马灯组件,页面自动切换的,当识别返回的时候,页面已经被切走了,怎么处理的
结果导向的判定啊,如果我上面一步失败了,那后续步骤必定失败。整个 case fail。留截图
别考虑那么多,单纯的 TestFlight 出 bug 了而已
跑的多了你会发现,你以为你点击了,程序也告诉你点击了,实际上没点击到
点击前加 sleep 可以提高一点概率,剩下的就只能当做失败,case 重跑一次
建议你尝试使用 weditor 或者 uiauto 查看(看不到不一定点不到,比如 weditor 对 H5 识别弱,但在 uiauto 上又可以看到)
weditor 安装:pip install --pre --upgrade weditor
weditor 使用:在 cmd 执行 python -m weditor
uiauto 安装 :pip3 install -U uiautodev -i https://pypi.doubanio.com/simple
uiauto 使用:在 cmd 执行 uiauto.dev
局域网下大概率你能 ping 通手机的 ip,但是访问不到 8100 端口,然后按这个文档操作一下(据说是,我没干过)解决国产手机 wda 不能联网问题 https://blog.csdn.net/qq_43575801/article/details/141610818
无所谓的,元素查看器能启动就行,不行的话就换成 airtest 维护的 wda(我目前用的是这个,17/18 可以跑)