目录

  1. 导包

  2. 连接设备

  3. 编写脚本

  4. 生成报告

3.2.2 断言

3.2.2.1 断言存在

assert_exists(v, msg="")设备屏幕上存在断言目标

参数:

v – 要检查的目标

msg – 断言的简短描述,它将被记录在报告中

引发:

AssertionError – 如果断言失败

返回:

目标坐标

3.2.2.2 断言不存在

assert_not_exists(v, msg="")设备屏幕上不存在断言目标

参数:

v – 要检查的目标

msg – 断言的简短描述,它将被记录在报告中

引发:

AssertionError – 如果断言失败

返回:

目标坐标

3.2.2.3 断言相等

assert_equal(first, second, msg="")断言两个值相等

参数:

first – 第一个值

second – 第二个值

msg – 断言的简短描述,它将被记录在报告中

引发:

AssertionError – 如果断言失败

返回:

目标坐标

3.2.2.4 断言不相等

assert_not_equal(first, second, msg="")断言两个值不相等

参数:

first – 第一个值

second – 第二个值

msg – 断言的简短描述,它将被记录在报告中

引发:

AssertionError – 如果断言失败

返回:

目标坐标

3.3 其它api

3.3.1 airtest.core.api module

init_device(platform=“Android”, uuid=None, **kwargs)初始化设备,并设置为当前设备

connect_device(uri)用URI字符串来初始化设备,并且设置为当前设备

举例:

android:/// # 当前Android设备,使用默认参数连接

远程Android设备,并且使用了自定义参数

android://adbhost:adbport/1234566?cap_method=javacap&touch_method=adb

windows:/// # 本地Windows桌面

ios:/// # iOS 设备

device()返回当前正在使用中的设备

set_current(idx)设置当前设备

auto_setup(basedir=None, devices=None, logdir=None, project_root=None, compress=None)

自动配置运行环境,如果当前没有连接设备的话,就默认尝试连接Android设备

shell(cmd)在目标设备上运行远程shell指令

start_app(package, activity=None)在设备上启动目标应用

stop_app(package)终止目标应用在设备上的运行

clear_app(package)清楚目标应用的数据

install(filepath, **kwargs)安装应用到设备上

#仅支持android

uninstall(package)卸载设备上的应用

#仅支持android

wake()唤醒并解锁目标设备

#注意:在部分品牌手机上可能无法生效

home()返回HOME界面

click(*args, **kwargs)在当前设备画面上进行一次点击

#和touch作用相同

double_click(v)在当前设备对坐标双击

pinch(in_or_out=‘in’, center=None, percent=0.5)在设备屏幕上执行一个双指pinch捏合操作

in_or_out – 向内捏合或向外扩大,在[“in”, “out”] 中枚举一个值

center – pinch动作的中心位置,默认值为None则为屏幕中心点

percent – pinch动作的屏幕百分比,默认值为0.5

#仅支持Android

sleep(secs=1.0)设置一个等待sleep时间,它将会被显示在报告中

find_all(v)在设备屏幕上查找所有出现的目标并返回其坐标列表

返回坐标列表:[(x, y), (x1, y1), …]

3.3.2 android.core.android

参考文档:

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

3.3.3 android.core.ios

参考文档:

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

3.3.4 airtest.core.win

参考文档:

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

3.3.5 airtest subpackages

airtest.aircv package

参考文档:

https://airtest.readthedocs.io/zh_CN/latest/all_module/airtest.aircv.html

airtest.cli package

参考文档:

https://airtest.readthedocs.io/zh_CN/latest/all_module/airtest.cli.html

airtest.core package

参考文档:

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

airtest.report package

参考文档:

https://airtest.readthedocs.io/zh_CN/latest/all_module/airtest.report.html

  1. 生成报告

4.1 生成报告前的设置

  1. 导包

from airtest.report.report import simple_report

  1. 在setup语句中设置log路径,或者将logdir=True

if not cli_setup():

auto_setup(file, logdir=True, devices=[

“Android:///”,

], project_root=“D:/pyworkspace/airtest_demo1/test”)

4.2 报告的生成

在代码最后插入一下代码生成报告

simple_report(file)

4.3 报告的样式

和AirtestIDE产生的报告一致

测试报告大致由两部分组成:

上半部分:

报告的名称、作者、报告描述(可自定义,详见下文)以及快览等等。点击任意一张快览,下方会展示相应的测试信息

下半部分:

详细展示了每一个测试动作及其执行情况。单击左侧的测试动作,右侧会显示出相应动作执行结果的详细情况。

并且我们还可以在右侧对不同执行结果进行筛选

4.4 其它

4.4.1 log路径

进行初始化之后执行脚本,会在脚本目录下生成log.html和log文件夹(里面存放着log.txt)。但如果我们手工指定了logdir的目录,log.txt将会在指定的目录下生成

4.4.2 simple_report参数

def simple_report(filepath, logpath=True, logfile=LOGFILE, output=HTML_FILE):

path, name = script_dir_name(filepath)

if logpath is True:

logpath = os.path.join(path, LOGDIR)

rpt = LogToHtml(path, logpath, logfile=logfile, script_name=name)

rpt.report(HTML_TPL, output_file=output)

其中可以传入logpath= 来手工指定脚本的log目录,以此简单地生成 log.html

4.4.3 更加复杂的需求

有更加复杂的需求,例如需要指定导出目录 export_dir ,或是脚本中使用了poco语句,需要用到–pluginpoco.utils.airtest.report

参考文档:

https://airtest.readthedocs.io/zh_CN/latest/all_module/airtest.report.report.html#airtest.report.report.LogToHtml

【完】

Airtest自动化测试篇——python编写和执行用例(下)相关推荐

  1. Airtest自动化测试篇——python编写和执行用例(上)

    目录 导包 连接设备 编写脚本 生成报告 导包 主要需要导入三个包: 从airtest.core.api中import所有API from airtest.core.api import from a ...

  2. 软件测试学习资料之Airtest自动化测试(4)——AirtestIDE编写和执行用例

    目录 连接设备 编写脚本 运行脚本 查看报告 选项配置 查看报告 点击查看报告按键就可以查看报告 也可以右键单击代码区文件标题栏选择查看报告 4.1 报告内容 测试报告大致由两部分组成: 上半部分: ...

  3. Selenium3自动化测试——2. python编写简单自测代码

    开发人员在编写好代码后,测试人员如何在另个测试文件中对开发人员的文件进行测试呢? 例如,开发人员的代码如下,名字为calculator.py. # 创建add函数 def add(a, b):retu ...

  4. Python编写定时执行脚本

    import os import time import subprocess import datetime from apscheduler.schedulers.blocking import ...

  5. python批量执行多个py文件_Python实现批量执行同目录下的py文件方法

    Python版本:3.5 网上找了好多资料都没有直观的写出怎么批量执行,so,整理了一个小程序.最初是为了用Python进行单元测试,同目录下有两个unittest文件, AllTest.py的目的是 ...

  6. python读文件路径-python获取程序执行文件路径的方法(推荐)

    1.获取当前执行主脚本方法:sys.argv[0]和_ file _ (1)sys.argv 一个传给Python脚本的指令参数列表.sys.argv[0]是脚本的名字.一般得到的是相对路径,用os. ...

  7. Python递归获取指定文件夹下的所有文件夹、文件

    原文地址 分类目录--万能的Python系列 因为有了一个想从一个大文件夹下find出所有的.doc文件的需求,这个需求的关键活动就是递归获得文件夹下的所有文件.通过一番找资料,整理出两种递归获取指定 ...

  8. pytest-xdist:并发执行用例设计(脱坑)

    本文主要是讲下up通过并发执行用例时候遇到的坑吧 一.pytest在并发执行用例下,用例的作用域会失效,因为xdist采用的是进程级处理用例,每条用例都是完全隔离的,所以在设计并行用例的时候,必须要保 ...

  9. python自动化测试篇一 简单介绍

    一.什么是 Python Python 是一门编程语言,关于编程语言我们后面再详细讲.首先我们思考,为什么我们要学习 Python 1.为什么要学习 Python 1. 自动化 很多时候,虽然可以通过 ...

最新文章

  1. Paper5:Curved-Voxel Clustering for Accurate Segmentation of 3D LiDAR Point Clouds with Real-Time Per
  2. 谢文睿:西瓜书 + 南瓜书 吃瓜系列 11. 贝叶斯分类器
  3. qq音乐 android pad版,QQ音乐HD(com.tencent.qqmusicpad) - 4.12.1.4 - 应用 - 酷安
  4. Python Qt GUI快速编程第六章代码分析
  5. 服务器环境~某个页面无法访问的处理
  6. String/Stringbuilder/StringBuffer
  7. JS中用encodeURIComponent编码,后台JAVA怎么解码
  8. tf.gradients ---错误FetchargumentNonehasinvalidtype
  9. UHDTV(超高清电视) 的帧率规格:120fps
  10. Centos挂载iscsi存储
  11. Oracle与SQL Server的语法区别——Oracle数据库学习
  12. python 将txt文件转换为excel_Python实现读取txt文件并转换为excel的方法示例
  13. 全国行政区划json数据包
  14. C#实现计算机远程操作
  15. Lua的安装配置出现的问题以及解决方案(Win10环境下)
  16. Jetson Nano 关闭开启图形界面减少内存占用
  17. 一文看懂互联网支付系统架构
  18. 1分钟查找是退回件的快递单号
  19. Linux网络新技术基石:eBPF and XDP
  20. python 画不同形状的曲线

热门文章

  1. 软件测试技术之如何编写测试用例(5)
  2. 4 赫斯曼网管软件重新申请序列号
  3. 设计能力-你如何进行领域建模
  4. 添加 wappalyzer浏览器插件
  5. 微信公众平台实战开发视频下载
  6. 12行Python代码,自在随心应付微信拜年群发
  7. windows电脑安装centos虚拟机
  8. C语言:判断是否为闰年
  9. Android三层拼图代码,Android自定义拼图验证码
  10. 名编辑电子杂志大师教程 | 名编辑电子杂志输出PDF文件