airtest运行脚本_AirTest学习二,命令行执行脚本

为什么要使用命令行来执行脚本

想同时用多个命令行运行多台手机、多个脚本等情况,以及对于一些Python开发者来说,可能需要在脚本中使用其他功能强大的Python第三方库。因此推荐在本地python环境中安装airtest和pocoui,然后用命令行运行脚本。

准备环境

首先必须要有python环境

使用 pip 安装Airtest模块

pip install airtest

注意:在Mac/Linux系统下,需要手动赋予adb可执行权限,否则可能在执行脚本时遇到Permission denied的报错,我就碰到了

# mac系统

cd {your_python_path}/site-packages/airtest/core/android/static/adb/mac

# linux系统

# cd {your_python_path}/site-packages/airtest/core/android/static/adb/linux

chmod +x adb

若在安装opencv-contrib-python库时,提示找不到我们指定的3.2.0.7版本时,可以考虑更新你的pip到最新之后再进行重试,官网文档提到最要不要使用pyhont3.7版本,建议使用稳定的python3.6.5版本,不过我亲测3.7可用。

使用 pip 安装poco框架

pip install pocoui # 请注意库的名称为pocoui,不要填错

环境部署完成后,我们就能够脱离AirtestIDE,在不同的宿主机器和被测平台上运行脚本了。

执行命令

# 这两个命令行的效果是相同的,我们用airtest运行了一个叫做untitled.air的脚本

>airtest run untitled.air --device Android:///手机设备号 --log log/

>python -m airtest run untitled.air --device Android:///手机设备号 --log log/

# 可以使用python sys模块查看site-packages文件夹所在的路径

import sys

print(sys.path)

参数说明:

airtest run 后面接的的脚本文件的路径。

--device,是我们的手机设备。

--log,log输出目录。

关于--device的说明

在刚才的命令行中使用的--device参数,传入的是一个设备字符串,以安卓设备为例,字串完整定义如下:

Android://:/

其中,adbhost是adb server所在主机的ip(本地host为127.0.0.1),adb port默认是5037,serialno是android手机的序列号。更多adb的方面的内容请参考文档developer.google。

在平时的脚本运行中,我们一般可以这样写:

# 什么都不填写,会默认取当前连接中的第一台手机

Android:///

# 连接本机默认端口连的一台设备号为79d03fa的手机

Android://127.0.0.1:5037/79d03fa

# 连接一个Windows窗口,窗口句柄为123456

Windows:///123456

# 连接一个Windows窗口,窗口名称匹配某个正则表达式

Windows:///?title_re=Unity.*

# 连接iOS手机

iOS:///127.0.0.1:8100

生成测试报告

"""

参数说明

--log_root: 指定脚本执行完毕后生成log文件夹的路径

--outfile: 指定输出的html文件路径

--lang: 指定输出的语言,zh为中文

"""

airtest report untitled.air --log_root log/ --outfile log/log.html --lang zh

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值