

下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 UI动化测试之 Airtest官档:本我们讲解下Airtest的使,主要学习标有以下点:(1)认识Airtest(2)了解Airtest能做什么(3)Airtest安装及环境搭建(4)掌握Airtest图形化api使(5)Airtest实现APP电商动化测试(6)Airtest连接ios真机实现动化测试Airtest简介及环境搭建1、Airtest简介Airtest由易团队出品,是个基于图像识别原理的跨平台UI动化测试框架,适于游戏和应程序。特点:(1)跨平台:Airtest乎可以在所有平台上执游戏和APP动化(2)易操作:使图像识别技术来定位UI元素,需嵌任何代码即可对游戏和应进动化测试。
2、(3)可扩展性:通过使Airtest提供的命令和Python API接,可以轻松地在规模设备集群上运脚本(4)GUI具:AirtestIDE是个强的GUI具,可以帮助你录制和调试脚本。扩展:Airtest的3种图像算法SURFMatching、TemplateMatching 和BRISKMatching 深度对。参考博:(1)模板匹配 TemplateMatching优点是速度很快,缺点是法跨分辨率识别定有相对最佳的匹配结果法名:tpl(2)特征点匹配跨分辨率识别不定有匹配结果法名列表:kaze, brisk, akaze, orb, sift, surf, brief特征点匹配算法的性能对
3、结论:内存占:kaze sift akaze surf brief brisk orbCPU占:kaze surf akaze brisk sift brief orb运时长:kaze sift akaze surf brisk brief orb识别效果:sift surf kaze akaze brisk brief orb2、Airtest能做什么Airtest持:Game、Windows应、Andriod应、iOS应、web应的动化测试。特点:Game:借助图像识别和UI层次结构,持所有游戏引擎和应,多平台,使便。Android:Android源应测试的测试过程中, Air test可
4、以发挥关重要的作, 即插即。Wino dws:持Windows应, 次编写, 跨平台运。iOS:Airtest持对iOS进便快捷的测试,可以通过Poco库来快捷获取iOS设备页中的原元素的位置和信息。Web:基于Chrome Devtools Protocol 协议,动录制成selenium脚本, 精确定位与操作界元素。Airtest优点:1)框架基于图像识别,UI和控件识别,操作简单,功能简洁。2)对代码能要求不,容易上。结合具本的脚本录制功能,开发脚本速度快,适合版本快速迭代的要求。3)可引Python第三库,持Python进个性化脚本编程。4)可键成测试报告,报告美观,清晰明了。Airt
5、est缺点:1)最的缺点是图像、控件定位不够准确,如果不同设备的尺、分辨率不同,或者图像的背景变化,控件图案修改的话。2) 因为是基于图像识别的框架,所以代码执速度慢,容易造成图像识别不到。总结:优点于缺点,且图像识别准确度的问题有很多办法可以改善、提。3、Airtest库Airtest有图像识别、Poco、selenium三类库。4、Airtest环境搭建(1)Python输cmd打开命令窗,执命令:pip install -U airtest说明:安装Python的Airtest库,通过Python代码直接调Airtest库的API法。提:此法需要有定的Python基础。AirtestID
6、E内置了Python3.6.5,亲测Python3.6.5版本可以安装airtest。(2)GUI具具:AirtestIDE说明:AirtestIDE具带Python环境,下载解压即可使,免安装。提:使具可以录制操作,也可以动编写调API。 本次视频教程学习GUI具。(3)下载AirtestIDE官下载:(4)解压(5)启动双击AirtestIDE.exe可执程序即可。(6)Airtest页布局Airtest与安卓模拟器进连接常的安卓模拟器:易的MUMU、夜神、雷电等。我们这使易MUMU,直接下载安装到C:Program FilesMuMu1、准备作(1)打开开发者模式般安卓机:进设置系统(或
7、关于机)找到版本号,多点击次,就可以开启开发者模式。康设备:页下拉进导航栏时间连续点击5次点击原设置系统关于AIV版本号连续点击7次说明:如果设备已经打开开发者模式,点击版本号会提:您正处于开发者模式。(2)打开USB调试模式先打开开发者模式,进开发员选项,可开启USB调试。注意:定要选择USB配置:MIDI(打开件传输)(3)连接设置a.启动安卓模拟器b.在Airtest窗点击【刷新ADB】或【远程设备连接】c.使备连接参数,设置兼容模式AirtestIDE提供了3个备的连接参数: Use javacap 、Use ADB orientation 和 Use ADB touch 第个 Use
8、 javacap ,是给部分法正常看到机画、minicap初始化失败 的机或设备的,所以模拟器看到屏、部分特殊的平板等设备可以考虑勾选这个选项。 第个 Use ADB orientation 是 屏幕旋转 的,如果在安卓机屏幕旋转向检测有问题、或者是部分特殊的平板法显正确的屏幕向时可以勾选。 第三个 Use ADB touch 是 发送adb指令来点击屏幕 ,效果很差,速度也很慢,不建议勾选,只有在部分法点击屏幕的特殊安卓设备上才需要使(例如智能后视镜、特殊型号的平板等设备上) 正常情况下,机都可以点击,如果法被点击(如设备),般都是因为机设置有选项漏了打开,特别是设备要注意 开启允许模拟点击
9、 的设置。(4)修改设备地址及端号(因为真机或模拟器都分不同的商)Airtest远程连接,默认展的是易MUMU的端号。如果使其他商的模拟器,需要修改端号。常模拟器的默认IP地址和端号如下:Airtest图像库( Touch、脚本运、测试报告)1、学习标掌握touch法应掌握脚本运掌握测试报告查看理解图像识别扩展(位置、匹配度)2、Airtest图像框架API查看参数信息法:将光标悬停到左侧栏API上,泡显调该法所需要传的参数。3、Touch法作:触摸/点击动作常参数:v : 点击对象的图像或坐标times: 点击次数,默认是1duration: 点击时间,默认是0.01秒(1)需求:使Touc
10、h法,点击启动康桌应(电视家)运脚本测试是否成功(2)需求实现步骤:a、新建脚本类型选择.air Airtest项:成个【项名称.air】的录,录下有个【项名.py】的件.py 纯Python(级户):成个纯Python的【项名.py】的件两者区别和联系: 相同点:都是Python件不同点:脚本件的初始化代码不,个法看到默认值,另个可以看到默认值并可以修改。提:Airtest带Python解释器及标准库,需单独安装Python。b、使Touch点击康桌应(电视家)左侧点击Touch右侧拉选电视家icon图标c、运脚本点击三形的【运】按钮,或者使快捷键F5停运:Shift + F5运单代码:选中
11、代码,右键,选中并单击“只运选中代码”d、查看报告法1:点击菜单栏【运】打开报告录法2:右键脚本件名称Tab打开报告件录法3:使快捷键:Ctrl + L法4:cmd打开命令窗,进脚本所在路径,执如下命名:airtest report D:zxtAirtestIDExiaokang.airxiaokang2_auto_script.py -log_root D:zxtAirtestIDExiaokang.airlog -outfileD:zxtAirtestIDExiaokang.airlogxiaokang2_auto_script.loglog.html -static_root D:zxt
12、AirtestIDEairtestreport -lang zh -exportD:/zxt/AirtestIDE/xiaokang.air/log法5:右键脚本件名称Tab导出报告这种法,可以将相对路径的图资源和静态资源整个打包,后续发送给其他查看。法6:# generate html reportfrom airtest.report.report import simple_reportsimple_report(_file_,logpath=True,output=D:zxtAirtestIDExiaokang.airreportlog.html)4、图像识别扩展在脚本编辑区域,双击图
13、,展Image Editor弹框,如下:filename: 图件名称,动成threshold: 阈值或临界值,只有达到设置的阈值,图像识别才能成功。target pos: 击位的标点置,默认是位置5。图的标位置共分上、中、下9点位,正中间区域是位置5.Airtest图像 API-waitwait()法作:在等待界元素出现,默认0.5s找次,最多找20s。如果找到则返回返回图中点坐标;否则,raise TargetNotFoundError常参数:v:图timeout:等待超时时间,默认是20sinterval:每次匹配的时间间隔需求:进康页,等待“娱乐”icon出现,0.1s查找次,持续3s,
14、如果找到,点击“娱乐”icon。结:(1)wait法解决什么问题?解决界元素存在,但加载需要时间的问题。第6课、Airtest图像API-swipeswipe法基本使:作:从屏幕个位置滑动到另个位置常参数:v1: 图 或 坐标(x,y)v2: 图 或 坐标(x,y),从v1滑动到v2vector: x,y录制时动成,记录了屏幕中的滑动例,向右为x轴正向,向下为y轴正向。Airtest图像 API(text、snapshot、sleep、keyevent)1、text法作:输本操作常参数:text: 要输的本(注:输的位置为当前页光标焦点所在的位置,般与touch法起使)enter: 完成输后动
15、执Enter操作,默认为True2、keyevent法作:模拟键盘按钮输,持键码,如3为home键常参数:keyname: 固定键名或键码,参考: 3、snapshot法作:截取当前屏幕图,可以在测试报告中显。常参数:filename: 保存截屏为指定件。msg: 描述测试点,可在html报告中呈现。4、sleep法作:暂停时间常参数:secs: 暂停时间,单位秒,默认1.0s例需求:启动百年奥莱app点击搜索输框输:机完成屏幕截图暂停3秒按home键,返回桌Airtest图像 API-断法1、assert_exists法作:断页存在某元素,结果是布尔类型值常参数:v: 图msg:描述测试点r
16、eturn:找到图,则返回图中点坐标;否则,将raise AssertionError2、assert_not_exists法作:断页不存在某元素,结果是布尔类型值常参数:v: 图(注:判断当前页中不存在指定图,不存在则通过,存在则不通过)msg:描述测试点3、assert_equal法作:判断第个值和第个值相等常参数:first:第个值second:第个值msg:描述此断语句对应的测试点内容。4、assert_not_equal 法作:判断第个值和第个值不相等常参数:first:第个值second:第个值msg:描述此断语句对应的测试点内容。需求:启动百年奥莱APP判断页是否存在搜索图标点击
17、底部【分类】TabBar断不存在搜索图标断False与assert_exists(搜索图标图)的值是否相等查看测试报告如下:Airtest图像框架实战( app登录、退出)1、需求:启动钉钉APP实现登录、退出业务动化,并断是否登录成功、退出成功2、拓展:如何解决法输账号的问题:MUMU模拟器设置语和输法将输法改为nemu-vinput切换代码模式:在代码编辑区域,选中代码,右键选择并点击“图/代码模式切换”。Airtest-实战 iOS真机(环境搭建) 1、环境搭建需要(1)硬件台苹果电脑(运xcode)部iphone机(运APP)(2)软件iOS-Tagent(WebDriver 服务器)
18、xcode(iOS集成开发具,运iOS-Tagent)iproxy(代理作,做端映射)AirtestIDE(图像识别动化测试具)2、软件功能(1)iOS-Tagent作:在机上创建个WebDriver服务器,可于远程控制iOS设备,定位UI元素。下载:运依赖:xcode(2)xcode作:iOS集成开发具,主要作为运WebDriverAgent件到机中下载:appStore搜索xcode运依赖:开发者账号xcode设置:前提:将真机使数据线连接上mac电脑测试运WebDriverAgentRunner 到机如果失败,排查思路:在xcode中点击Test后,第次将WebdriverRunner 时,机需要信任该项(设置-通-设备管理)在机中启UI动化(设置-开发者-EnableUIAutomation)如果有其他异常,根据异常提信息参考百度或访问/appium/appium/blob/master/docs/en/drivers/ios-xcuitest-real-devices.m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中数学省级课题申报书
- 宁波课题立项申报书
- 生物小课题立项申报书
- 艺术规划课题申报书范本
- 风湿课题申报书
- 卖车位定金合同范本
- 行为习惯养成课题申报书
- 合同范本文化传播
- 课题成果申报书范文
- 精准教学 课题申报书
- 2025年食品供应商合同范本
- Unit5 What day is it today?(教学设计)-2023-2024学年教科版(广州)英语四年级下册
- 《网络信息安全教学》课件
- 徐州2025年江苏徐州市口腔医院招聘非在编医务人员53人笔试历年参考题库附带答案详解-1
- 2025年01月2025中国作家协会所属单位公开招聘11人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 影视制作项目委托制作协议
- 用色彩情感引发共鸣社交媒体运营秘诀
- 广东2024年12月佛山市教育局公开选调1名公务员笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 植物角创设培训
- 《住院患者身体约束的护理》团体标准解读课件
- DZ∕T 0213-2020 矿产地质勘查规范 石灰岩、水泥配料类(正式版)
评论
0/150
提交评论