美文网首页软件测试软件测试
如何使用Airtest进行UI自动化测试

如何使用Airtest进行UI自动化测试

作者: A丶咔咔 | 来源:发表于2020-08-03 21:53 被阅读0次

    一、环境搭建

    1、Airtest客户端下载

    访问官网http://airtest.netease.com/,根据自己的系统下载相应的客户端安装;

    2、python工具下载与环境搭建

    在本地python环境中安装airtest和pocoui,然后用命令行运行脚本;

    1、建议使用3.7以下 版本,下载python3;

    2、下载python后,配置本地的运行环境,详见:http://airtest.netease.com/docs/cn/4_run_script/run_script.html#id4

    1)使用 pip 安装Airtest框架pipinstallairtest

    2)若运行代码时,在cv2模块报ImportError:DLLloadfailed:找不到指定模块的错,如果使用的python版本低于3.7,请直接运行:

    pip uninstall opencv-contrib-python

    # 若以下安装语句运行失败,可以尝试更新pip到最新版本后重试

    pip install opencv-contrib-python==3.2.0.7

         3)Poco安装

    使用 pip 安装poco框架pipinstallpocoui,请注意库的名称为pocoui,不要填错。

    3、在Airtest中集成python环境

    在Airtest中集成python环境的话,需要安装python之后,再填写python的路径到AirtestIDE中;可以参考:http://airtest.netease.com/docs/cn/4_run_script/run_script.html#airtestidepython进行集成;

    二、Airtest使用

    1、使用方法

    具体请参考官方文档:http://airtest.netease.com/docs/cn/,请优先看快速5分钟使用教程:http://airtest.netease.com/tutorial/Tutorial.html

    2、在Airtest IDE中连接手机

    在Air test中连接手机请查看连接:http://airtest.netease.com/docs/cn/2_device_connection/1_android_phone_connection.html#androidusb

    手机连上Airtest之后,会向手机中咱装3个app,如下:

     pocoservice是支撑poco操作的app,yosemite是airtest的输入法,安装之后,手机的默认输入法会变成这个输入法,如果需要改回来原来的输入法,需要手动到手机设置里面进行修改;

    3、在代码中连接手机

    如果是在.py脚本文件中importairtest/poco,希望以普通python脚本的方式来运行的话,可以在脚本代码中使用connect_device接口:

    1 from airtest.core.api import *

    2 connect_device("Android:///")  # 传入的是设备字符串

    4.多个手机交互

    如果case中涉及到两个手机交互的,可以在.py文件中连接多个手机,需要在哪个手机上操作,就需要在脚本中使用set_cerrent()借口来切换到相应的手机上;

    1 device1 = "c17a4cb4" #设备1

    2 device2 = "RKK0217C15003363" #设备2

    3 dev1 = connect_device("android://127.0.0.1:5037/"+device1)#连接设备1

    4 dev2 = connect_device("android://127.0.0.1:5037/"+device2)#连接设备2

    5 poco1 = AndroidUiautomationPoco(dev1) #初始化设备1

    6 poco2 = AndroidUiautomationPoco(dev2) #初始化设备2

    7 set_current(device1)#切换到手机1

    8 set_current(device2)切换到手机2

    5.case举例

    初始化设备之后就可以进行相关设备的poco操作了,举个例子:

    这个例子是打开微信,点击聊天信息中的一个好友,然后清除好友聊天的例子;

    1 from poco.drivers.android.uiautomation import AndroidUiautomationPoco

    2 device1 = "c17a4cb4" #设备号

    3 dev1 = connect_device("android://127.0.0.1:5037/"+device1)#连接师傅手机

    4 poco1 = AndroidUiautomationPoco(dev1) #实例化手机

    5 auto_setup(__file__)

    8 def clear_wechat(poco):#清除微信的聊天记录

    9    start_app("com.tencent.mm")#启动微信

    10    sleep(12)#等待12秒

    11    poco1(text="三星").click()#点击好友“三星”的聊天

    12    poco1("android.support.v7.widget.LinearLayoutCompat").click()#点击更多

    13    poco1(text="清空聊天记录").click()#点击清空聊天记录

    14    poco1(text="清空").click()#点击清空

    15    stop_app("com.tencent.mm")#关闭微信

    6.引用其他air文件的方法:

    如果有很多重复的操作,可以将这些重复的操作写到一个公用的air文件里面,然后再在用例里面引用这个公用的air文件的方法就可以:

    举例,有一个名叫gongyou.air的文件,里面有一个clear_wechat的方法,这个clear_wechat方法就是一个清除微信聊天记录的用例,如果需要在用例中用到这个clear_wechat,就需要在用例中引用这个文件,然后倒入这个引用文件中的clear_wechat方法,如下:

    1 # -*- encoding=utf8 -*-

    2 __author__ = "xhong"

    3

    4 from airtest.core.api import *

    5 from poco.drivers.android.uiautomation import AndroidUiautomationPoco

    6 from poco.exceptions import PocoNoSuchNodeException

    7 from poco.exceptions import PocoTargetTimeout

    8 ST.PROJECT_ROOT = "D:\code\AirtestCase"#引用公用air的路径

    9 using("gongyou.air")

    10 from gongyou import clear_wechat

    7.IDE的使用

    IDE的设置和使用官网有具体的说明:http://airtest.netease.com/docs/cn/7_settings/1_ide_settings.html#editor

    7.1、新建脚本

    点击脚本窗口右侧的“+”号,会新建脚本,新建的脚本默认会生成下面的代码;如下:

    7.2 Airtest辅助窗的使用

    需要图像识别的使用的是Airtest辅助窗;

    7.3 poco辅助窗的使用:

    符合下列框架的APP的UI定位使用的是POCO辅助窗;

    已安卓原生应用举例:

    选择Android原生应用之后,会提示导入相关的库,选择yes就好;

    7.4、执行脚本与查看报告

    执行单个脚本,在airtest中执行就可以,如下:

    7.5 执行多个脚本,需要在python中跑代码

    多个脚本批量执行,在Airtest IDE中无法实现,需要单独写一个框架,并使用python写一个执行入口文件myrunner.py;

    多个脚本串行执行脚本请参考:https://blog.csdn.net/u010127154/article/details/83375659

     执行myrunner.py文件时,需要更改自己的AllCase路径和自己手机的设备号:

    说明:  1.所有的需要执行的case写好之后都放在AllCase文件夹里面;

               2.执行时只需要执行myrunner.py文件就可以了。

               3.批量执行的报告会汇总到/Users/xhong/Documents/UI/AirtestCase/AllCase/summary.html文件里面,所有case执行完成之后,打开semmary.html文件可以看到汇总页面,点击每一个case名称可以查看具体的测试报告的内容;

    7.6 需要注意的问题:

    airtest 测试需要注意的问题:

    1、在使用Airtest过程中,遇到的错误,请先到官网http://airtest.netease.com/docs/cn/9_faq.html,查找相应问题的解决方法,这个很重要,可以节省很多时间;

    2.查看批量脚本的执行报告时,不要再IDE里面查看,直接打开文件就可以;

    3.图像识别时,要截取高分辨率的手机来适配低分辨率的手机;

    4.最好使用华为或是三星的手机,其他的手机启动pocoserver时可能会失败,导致脚本执行失败;

    软件测试技术交流群:1125760266

    相关文章

      网友评论

        本文标题:如何使用Airtest进行UI自动化测试

        本文链接:https://www.haomeiwen.com/subject/ixrsrktx.html