python控制软件自动化测试,资讯详情-用python来使用Airtest 自动化工具-柠檬班-自动化测试-软件测试培训-自学官网...

Airtest是一款易于上手的游戏和App UI自动化测试框架,支持Python脚本编写。可以使用AirtestIDE进行简单操作,或在Pycharm中借助pocoui库实现复杂操作。通过有线或无线连接手机,利用Poco进行点击、长按、滑动等手势。在遇到元素获取不到或点击无效的情况时,可以借助Android SDK Monitor或异常处理来解决。pocoui还提供了如打开应用、截屏等便捷功能。
摘要由CSDN通过智能技术生成

Airtest 是一款适合于游戏和 App 的 UI 自动化测试框架。

下面对 Airtest 在平时自动化测试和爬虫过程中的常见问题做一个汇总。

1、优势

Airtest 上手难易度低,高效方便,结合 Python 脚本,可以完成一些自动化的操作,也可以快速开发出一款 App 端的爬虫。

2、AirtestIDE 还是 Pycharm

如果只是简单的一些操作,可以使用官网提供的 AirtestIDE,通过简单的拖拽、按压、点击就能完成脚本录制和回放操作。

当然,想完成一些复杂的操作,就需要在 Python 虚拟环境下安装 pocoui 依赖库,然后借助 Pycharm 编写 Python 脚本来完成。

3、Airtest 结合 Python 操作

只需要在 Python 虚拟环境下安装 pocoui 依赖库。

pip3 install pocoui

4、有线连接和无线连接

利用 Airtest 驱动手机完成自动化操作,有两种方式:有线连接、无线连接。

有线连接:手机通过数据线连接 PC,确保使用 adb devices 命令能找到设备。

然后,通过下面的 Python 代码即可以完成连接操作。

# 通过有线连接 PC 端和手机

self.poco = AndroidUiautomationPoco(screenshot_each_action=False)

auto_setup(__file__)

无线连接:保证手机和 PC 在同一个网段,使用 adb 启动手机端的 adb 端口,然后使用下面的 Python 代码完成连接操作。

# 通过 adb 命令开启手机端的 adb 端口

adb tcpip 6666

# 通过 Python,无线连接 PC 和手机

device = connect_device('android:///192.168.1.166:6666?cap_method=javacap&touch_method=adb')

poco = AndroidUiautomationPoco(device_1, screenshot_each_action=False)

auto_setup(__file__)

5、常用操作

只需要通过 Android SDK 中的 Monitor 工具识别到元素 ID 或者文本,然后借助 Poco 依赖库完成常见的操作。

常用手势操作包含:点击、长按、滑动。

# 点击1

poco(元素ID).click()

# 点击2

poco(text=u'元素文本内容').click()

# 长按

poco(元素ID或者元素文本).long_click(长按的时长)

# 滑动到下一页

poco.swipe([起始坐标x轴, 起始坐标y轴], [终点坐标x轴, 终点坐标y轴], duration=滑动时长)

poco.swipe([0.5, 0.8], [0.5, 0.3], duration=1)

# 滑动到上一页

poco.swipe([0.5, 0.3], [0.5, 0.8], duration=1)

pocoui 已经封装了页面的常用操作,包含:回到桌面、模拟手机返回键、锁屏键、截屏、卸载、打开应用等操作。

# pocoui 封装的一些方法

# 打开应用

def start_app(package, activity=None):

# 停止应用

def stop_app(package):

# 截屏

def snapshot(filename=None, msg=""):

# 回到桌面

def home():

# 模拟按键操作

# 模拟页面返回操作

keyevent('BACK')

6、异常处理

由于 Airtest 是一款 UI 测试框架,对可见的元素能通过元素 ID 或者文本内容拿到元素,处理列表的时候,滑动的时候经常会导致元素异常,这里要做好异常处理。

# 处理列表元素

try:

self.__handle_good_list()

except:

pass

7、元素获取不到

借助 Android SDK 中的 Monitor 查看元素属性,会发现有些元素没有 ID 和文本,这时候可以查看 UI 树的结构,找到一个可以确定的元素,通过父子关系拿到这个元素。

8、点击无效

有的时候,通过 pocoui 拿到元素对象,但是点击没有效果。

这种情况,可以通过反复点击,直达某个元素出现来解决这个问题。

# 点击搜索按钮

while True:

# 等待检索结果列表出现

if not self.poco(元素ID).exists():

# 再次点击

perform_click(self.poco(元素ID, text='搜索'))

else:

break

评论:0 点赞:0

阅读:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值