门户网站建设请示报告,网站模版带后台,做网站会遇到的问题,为什么很多网站用php做一、背景
今天彭于晏为大家分享Airtest进阶使用篇#xff0c;主要包含两块的内容#xff1a;
提高脚本稳定性批量运行脚本生成测试报告
二、提高脚本稳定性
1、添加全局配置:
#全局设置
ST.FIND_TIMEOUT10 #设置隐式等待时长,默认识别图片时间是30秒#xff0c;可改为… 一、背景
今天彭于晏为大家分享Airtest进阶使用篇主要包含两块的内容
提高脚本稳定性批量运行脚本生成测试报告
二、提高脚本稳定性
1、添加全局配置:
#全局设置
ST.FIND_TIMEOUT10 #设置隐式等待时长,默认识别图片时间是30秒可改为10秒找不到就不找了
ST.OPDELAY1 #设置默认操作时间间隔为1秒
ST.THRESHOLD0.5 # 设置图片识别精准度默认为0.7表示70%匹配即认为匹配成功默认图片识别隐式等待时长是30秒比较长可通过ST.FIND_TIMEOUT 改为10秒脚本中每一个步骤的操作之间都会有一小段时间间隔默认用OPDELAY进行设定OPDELAY默认值为0.1即每一步操作后等待0.1秒将它适当设置得大一些可以在每次操作后停顿一小段时间避免过快进行下一个操作导致不能成功的问题。可通过ST.OPDELAY整体设置每一步操作间隔时间少写很多sleep默认图片识别精准度是0.7如果需要整体更高或者更低的精准度可通过ST.THRESHOLD整体设置精准度。threshold设置得越高图像识别的精度越高但成功率也会有所降低请根据自己的实际情况酌情设置。
2、截图方式
图像识别使用的算法更适合用来识别按钮类带边框、图标类的图像 仅仅单独截取几个文字的识别成功率很低请尽量截取带边框的图片来达到较好的识别效果避免只截取按钮上的文字。
比如同样的测试场景以下两种截图方式使用方式2截图能达到更好的识别效果 方式1 方式2 现在我也找了很多测试的朋友做了一个分享技术的交流群共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源没人解答问题坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化性能安全测试开发等等方面有一定建树的技术大牛
分享他们的经验还会分享很多直播讲座和技术沙龙
可以免费学习划重点开源的
qq群号110685036【暗号csdn999】 3、图片自定义设置
Airtest IDE中双击图片会弹出图片自定义设置窗口。 SnapshotRecognition: 可查看截图在当前页面的识别情况包含识别出来的位置以及识别结果的可信度 右侧参数说明
filename: 图片名称系统会自带随机的名称。为了代码有更好的可读性可以修改为自定义的名称
threshold图片识别精准度阈值默认是0.70表示70%匹配则认为识别通过
target_pos: 图片点击的位置默认5表示点击图片正中心。图片具体九宫格位置可参看下图说明比如购物车加购了3行商品我们要点击第2个商品的号按钮则可以通过截取像上面这样的图片并设置target_pos为6来实现点击效果。
rgb: 图片识别是否开启背景色识别默认是不带背景色使用灰背景的模式对比图片。
这样即使页面换了不同的主题色只要图片样式不换均不影响脚本运行。
勾选上之后则按实际背景颜色比对图片scale_step: 用于控制搜索比例步长它代表匹配时搜索的精细程度。
进行图像匹配时会在原始截图的一定缩放范围内以截图最长边 * scale_step 的步长进行搜索。
默认值0.01取值范围 [0.001, 0.1]推荐值 0.02, 0.005, 0.001。
通常该值不需要调整当出现跨分辨率匹配特别是匹配较小截图无法匹配到时可以尝试减小它。
不过减小它会大幅增加匹配时间scale_max: 用于调节匹配的最大范围, 如果要查找的目标UI很小的话可以适当增大这个数值。
默认值 800 推荐值 740, 800, 1000 取值范围 [700 , 2000]。4、当前case运行失败不影响后续case执行
当前脚本跑失败了不能影响下一个脚本的正常运行可以用try except捕获异常。
try下面是正常的操作步骤代码except下面是当try中的脚本执行失败后需要执行的兜底步骤代码用于回到初始页面以保障下一个脚本能正常运行 5、当目标图片未出现时重新执行上一步操作
有时候由于软件卡顿或者网络不稳定的原因导致我们执行A操作后期望的B图片并没有出现case执行失败。
这个时候我们可以使用wait函数的intervalfunc参数当没找到B图片时重新执行一次A操作。示例代码如下
# 查找目标失败时指定回调自定义的notfound函数
def notfound():print(No target found)
wait(Template(rtpl1607510661400.png), intervalfuncnotfound)比如QQ音乐的分享操作 三、批量运行脚本生成测试报告
1、命令行运行airtest脚本
Airtest IDE中编写脚本完成后我们可以通过运行按钮完成单个脚本的运行验证。但是只能1次运行1个脚本如果你想运行一批脚本完成自动化测试的批量执行工作怎么办呢
这个时候就需要通过命令行模式运行airtest脚本。具体命令示例如下
# 运行脚本生成测试日志文件
airtest run airtest1.air --device Android:/// --log log/airtest1log/
# 依赖日志文件生成HTML测试报告
airtest report airtest1.air --log_root log/airtest1log/ --outfile log/airtest1log/airtest1log.html --lang zh也可以使用python运行, 需要依赖airtest库先安装库pip install airtest 然后使用命令
# 运行脚本生成测试日志文件
python -m airtest run airtest1.air --device Android:/// --log log/airtest1log/
# 依赖日志文件生成HTML测试报告
python -m airtest report airtest1.air --log_root log/airtest1log/ --outfile log/airtest1log/airtest1log.html --lang zh其中
--device Android:/// 表示使用连接的第一个Android设备运行脚本
--log 表示脚本运行日志文件存放的路径
--outfile 表示生成的html测试报告文件存放的路径
--lang zh 表示生成中文版的测试报告如果要英文版的使用--lang en2、解决报告无法在别人电脑上正常查看的问题
这样生成的报告有一个问题只能在你自己本地查看发送给别人在别人的电脑上无法正常查看 原因是这样生成的html报告里面的一些图片路径和静态资源路径是绝对路径。当报告被发到别的电脑上时html再想经过绝对路径找到这些图片资源和静态资源就不可能了因此才形成其余人看到的报告彻底没有图片和相应样式的状况。
在Airtest IDE中提供了导出报告的功能可以让别人电脑上也能够正常打开你本地生成的报告。右键点击脚本名称选择导出报告 导出报告以后图片资源和静态资源的路径都被改为了相对路径 而且文件夹中还打包了对应的静态资源文件。这样咱们再把导出好的报告发到别的电脑查看时就不会出现上述问题了。
而使用命令行生成报告时同样为了让别人电脑上能够正常打开你本地生成的报告则需要使用–export命令示例如下
# 使用outfile参数指定生成报告的目录, 这样的报告只能自己电脑上查看别人电脑上无法正常查看
airtest report D:/test/airtest1.air --log_root D:/test/log/airtest1log/ --outfile D:/test/log/airtest1log/log.html --lang zh# 使用了export参数这样生成的报告图片和资源路径才会是相对路径而且包含了静态资源文件别人电脑上也能正常查看
airtest report D:/test/airtest1.air --log_root D:/test/log/airtest1log/ --export D:/test/log/airtest1log/ --lang zh3、批量运行多个脚本
如果需要批量运行多个脚本则可以编写一个bat文件来批量运行多个脚本比如要同时运行testcase1.air和testcase2.air两个脚本命令示例如下
d:
cd D:\software\AirtestIDE\script
rmdir /s/q log
md log
cd D:\software\AirtestIDE\script
airtest run testcase1.air --device Android:/// --log log/testcase1og/
airtest report testcase1.air --log_root log/testcase1log/ --export log/testcase1log/ --lang zh
airtest run testcase2.air --device Android:/// --log log/testcase2log/
airtest report testcase2.air --log_root log/testcase2log/ --export log/testcase2log/ --lang zh先新建一个txt文件写入上面的命令然后保存并重命名为.bat文件。然后通过双击bat文件即可批量运行脚本test.bat: 批量运行脚本后每一个case都会生成自己详细的HTML测试报告 当然如果已经到了这一步那么有编程功底的同学可以更进一步将testcase1.html和testcase2.html中的关键信息抽取出来进行简单的网页编程生成一份汇总的测试报告让整个自动化测试结果有更专业的呈现类似于下面这样 以上就是本次的全部内容如果对宝子们有帮助麻烦点个赞收藏关注一键三连啦~ 最后感谢每一个认真阅读我文章的人看着粉丝一路的上涨和关注礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 软件测试面试文档
我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。