在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
脚本文件中 import airtest/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__)
6
7
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文件夹里面;
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
mg-SkvhWpT5-1719259079696)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!