一、简介

AirtestIDE 是一款跨平台的 UI自动化测试编辑器 ,内置了Airtest和Poco的相关插件功能,能够使用它快速简单地编写 Airtest 和 Poco 代码。

1. Airtest框架:

Airtest 是一个跨平台的、 基于图像识别 的UI自动化测试框架,适用于游戏和App,支持平台有Windows、Android和iOS

2. Poco框架

Poco 是一款 基于UI控件识别 的自动化测试框架,目前支持Android原生、iOS原生、Unity3D、cocos2dx、UE4和Egret等平台,也可以在其他引擎中自行接入poco-sdk来使用。

二、常用操作

1. 连接手机

使用USB连接手机:

  1. 选择传输文件模式
  2. 打开开发者模式,并在开发者模式中打开USB调试、允许USB安装应用
  3. 在airtestIDE中点击刷新ADB => 点击connect

airtest driver方法 airtestide教程_自动化测试

airtest driver方法 airtestide教程_自动化测试_02

2. 新建脚本

airtest driver方法 airtestide教程_相对坐标_03

airtest driver方法 airtestide教程_UI_04

auto_setup(__file__)

意思是将脚本文件作为脚本路径传入,其他参数内容将默认读取运行命令行传入的参数。

3. 常用模拟事件

  • touch :点击某个位置,可以设定被点击的位置、次数、按住时长等参数

airtest driver方法 airtestide教程_airtest driver方法_05

airtest driver方法 airtestide教程_自动化测试_06

结果:

airtest driver方法 airtestide教程_UI_07

  • 坐标点击 == > touch([693, 1867]) / touch([0.51, 0.595])
  • 设置坐标:

airtest driver方法 airtestide教程_自动化测试_08

  1. 绝对坐标:仅勾选 实时坐标显示 选项,可以实时在手机屏幕画面上显 示出鼠标位置的绝对坐标。

airtest driver方法 airtestide教程_UI_09

  1. 相对坐标:在勾选了 实时坐标显示 的前提下,再勾选 相对坐标,将 会以(0,0)到(1,1)为范围来显示相对坐标。

airtest driver方法 airtestide教程_相对坐标_10

  • 相对坐标可避免跨分辨率的操作点超出屏幕的问题。比如调试脚本的手机的绝对坐标可以为(1440,3200),但是换另一部手机绝对坐标最大只能是(600,800)就会出现问题。
  • exists:判断图片是否存在

airtest driver方法 airtestide教程_自动化测试_11

  • text :调用输入法输入指定内容

airtest driver方法 airtestide教程_airtest driver方法_12

airtest driver方法 airtestide教程_自动化测试_13

前提:手机已安装并切换 Yosemite 输入法。一般情况下使用时会自动安装(开发者模式中设置允许adb安装)

  • wait :等待某个指定的图片元素出现

airtest driver方法 airtestide教程_相对坐标_14

@ timeout:等待图片出现,使用IDE截图时未加入这个参数,默认20秒。

  • 更改等待时长(如40s):切换代码模式 => 加入 timeout = 40

airtest driver方法 airtestide教程_自动化测试_15

airtest driver方法 airtestide教程_UI_16

  • start_app(包名) 替换touch(应用图标),相对用截图脚本来启动应用,脚本会更加简洁,兼容性也会更好。
  • stop_app(包名) 停止运行应用

start_app("com.funny.kyk") = = > 在任意界面打开 “有趣生活”

查看包名:

airtest driver方法 airtestide教程_UI_17

  • sleep: 强制等待

sleep(5) = = > 等待5秒

  • snapshot :对当前画面截一张图
  • swipe :从一个位置滑动到另外一个位置
  • keyevent :输入某个按键响应,例如回车键、删除键
  • ……

airtest接口文档

https://airtest.readthedocs.io/zh_CN/latest/all_module/airtest.core.api.html#airtest.core.api

三、Python常用语句

1. if 判断
if 条件1 :
条件1成立时执行的代码
elif 条件2:
条件2成立时执行的代码
....... 
else:
以上条件都不成立时执行的代码
#elif 可存在多个,if 和 else只能存在一个
score = 72
if score >80 and score <=100:
 print("A")
elif score >60 and score <= 80:
 print("B")
else:
 print("C")
2. while 循环
while 条件:
 条件成立时执行的代码
i=1
sum=0
while i<=100:
 sum+=i
 i=i+1
print(sum)
3. for 循环(遍历)
for 临时变量 in 可迭代对象(列表,字符串,元组,字典) :
 循环满足条件时执行的代码
for i in range(x, y, z): x 为起始位置,y 为结束位置, z 为步长,区间左闭右开
for i in range(1, 5, 2):
 print(i) = = > 1 3