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("\t")[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输入文本

相关文档:https://poco-chinese.readthedocs.io/zh_CN/latest/source/README.html#example

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)
在这里插入图片描述

2、Airtest辅助窗
touch()通过截图来 点击某个位置(截图后图片会存储在当前跟目录下)
在这里插入图片描述

wait ()等待某个指定的图片元素出现
swipe() 从一个位置滑动到另外一个位置
在这里插入图片描述

exists()执行之前提前判断对应图片是否存在
在这里插入图片描述

text ()调用输入法输入指定内容
在这里插入图片描述

keyevent ()输入某个系统按钮键的操作
在这里插入图片描述

snapshot ()对当前画面截一张图
sleep()延迟时间(s),也可以用python内的“time.sleep(10)”
在这里插入图片描述

assert_exists()来断言一张图片存在当前画面中
在这里插入图片描述

assert_not_exists()来断言不存在于当前画面中。
assert_equal()断言传入的两个值相等
assert_not_equal()断言传入的两个值不相等。

  • 8
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值