Airtest--基本使用(简易描述)
airtest.py高阶运用
简单源码
# -*- encoding=utf8 -*- # -*- encoding=utf8 -*- __author__ = "zhouzongxin" """ """ import random import os from airtest.core.api import * from airtest.cli.parser import cli_setup from poco.drivers.android.uiautomation import AndroidUiautomationPoco x = os.popen("adb devices").readlines() if len(x) == 3: device_id = x[1].split(" ")[0].split(" ")[0] print(device_id) poco = AndroidUiautomationPoco(force_restart=False, use_airtest_input=True, screenshot_each_action=False) poco.device.wake() init_device(platform="Android",uuid=device_id) while True: poco(com.twitter.android:id/room_action_react).click() choice = random.choice(["爱心", "拍手"]) print(choice) poco(choice).click()
一、安装依赖包
pip install -U airtest # airtest测试框架 pip install pocoui # poco测试框架
二、相关操作
1、安装卸载apk install("path/to/your/apk") # 安装APK uninstall("package_name_of_your_apk") # 卸载APK 2、链接设备 init_device(platform="Android",uuid="9be9e722") # 连接android设备9be9e722 init_device(platform="Windows",uuid="9be9e722") # uuid表示Android设备的序列号,Windows的句柄,iOS的uuid connect_device(Android:///) # 本地android设备 connect_device(Android:///9be9e722) # 9be9e722为手机序列号,可通过adb devices命令查看 connect_device("Android://127.0.0.1:7555") connect_device("Windows:///") # 连接到windows桌面 connect_device("Windows:///9be9e722") # 连接到句柄9be9e722的windows应用 connect_device("iOS:///127.0.0.1:8100") # 连接iOS 设备 3、打开APP start_app(package, activity=None) 4、停止APP stop_app(package)
三、poco基础操作
1、poco初始化 from poco.drivers.android.uiautomation import AndroidUiautomationPoco poco = AndroidUiautomationPoco(force_restart=False,use_airtest_input=True, screenshot_each_action=False) poco.device.wake() # 执行唤醒:进入主页,启动Yosemite 2、UI元素定位、基本选择器 poco(node_name) # 默认第一个参数为节点名 # 也可以通过name 或者其它属性定位 poco(text=行情, type=android.widget.TextView) 3、子节点和子孙节点定位: # select by direct child/offspring poco("android:id/tabs").child("android.widget.RelativeLayout")[1].offspring(text="行情").click() # 具有多个元素的情况下,可以使用索引,索引从0开始。 4、UI 元素操作--点击UI元素 poco(name).click() # 默认点击UI元素锚点(左上角) poco(name).click(center) # 点击中心点 poco(name).click([0.5, 0.5]) # 点击中心点 poco(name).focus([0.5, 0.5]).click() # 点击中心点 5、点击坐标 poco.click([0.5, 0.5]) # 点击屏幕中心点 poco.long_click([0.5, 0.5], duration=3) # 长按 6、set_text文本输入 text = test poco(name).set_text(text) # 相文本框name输入文本
相关文档:
airtest框架运用
Airtest官网:https://airtest.doc.io.netease.com/
1、Airtest页面 (1)手机连接USB,点击刷新ADB按钮,点击connect进行连接,右侧会出现连接的手机的画面。 (2)点击poco辅助窗,选择Android(手机安装两个文件“Yosemite”“pocoservice”),然后脚本编辑窗会出现poco mode has changed…positon?yes no 。此时选择yes (3)出现下方两行代码即可录制自动化了 #安卓实例 from poco.drivers.android.uiautomation import AndroidUiautomationPoco #poco实例化 poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
wait ()等待某个指定的图片元素出现 swipe() 从一个位置滑动到另外一个位置
exists()执行之前提前判断对应图片是否存在
text ()调用输入法输入指定内容
keyevent ()输入某个系统按钮键的操作
snapshot ()对当前画面截一张图 sleep()延迟时间(s),也可以用python内的“time.sleep(10)”
assert_exists()来断言一张图片存在当前画面中
assert_not_exists()来断言不存在于当前画面中。 assert_equal()断言传入的两个值相等 assert_not_equal()断言传入的两个值不相等。