首页 > 编程语言 >【自动化测试】airtest+python移动端测试实践

【自动化测试】airtest+python移动端测试实践

时间:2023-03-01 15:12:15浏览次数:53  
标签:框架 python poco 测试 airtest Jenkins

Airtest框架基于python的测试框架,核心原理是基于python的内置unittest进行延申开发的测试框架, 核心主要包含两个模块:airtest, poco
  airtest: (1)图像识别 (2)封装了adb shell命令提供了用户层的api:touch(),swipes().... 提供接口的一般是没有返回值,找不到会ERORR, exits()会返回False
  poco: 获取控件,提供了元素操作的方法, 提供接口的返回值一般是Bool类型

 

本文是使用本地python环境搭建的一套适用于App, 微信小程序等 移动端自动化测试框架。

  <1>用例设计

    UI+接口搭配运行,用例设计更灵活,直接引用用例所需的自定义封装方法

  <2> 测试数据

    造数据方便,对于不同类型数据便于处理,如:json, form-data, 标签类数据等

 

1. 环境搭建避坑:

  <1> python版本:3.6x, 3.7x, 3.8x, 3.9x(问题不大) 3.11x+(不支持) ------版本兼容情况会随Airtest框架版本更新不同

  <2> airtest,poco一般都是版本对应的,要升级同时升级

 

2. 手机检查

  <1> 打开调试

  <2> 安装Yosemite:airtest的输入法

  <3> 安装pocoservice: poco获取控件服务
  **并不是所有机型都可以很好用作自动化设备,目前机型兼容情况:https://airtest.doc.io.netease.com/IDEdocs/device_connection/6_android_support/

 

3. 测试框架主流程如下

4. 与Jenkins集成时优化步骤:

  <1>  解决脚本测试结果与Jenkins构建结果一致性问题:因为若脚本中自身的异常处理机制(try...except...finally),会使脚本总会完整执行完,
     对Jenkins来说执行完成均为Sucess,不能很好的体现实际测试结果。
  <2> 搭配下拉选项参数化插件时,更直观的看到每次构建记录运行的脚本名称

    

 

 

学习参考:

airtest官方文档:https://airtest.readthedocs.io/zh_CN/latest/

教程汇总文档:https://airtest.doc.io.netease.com/

air脚本批量运行的模块:from airtest.cli.runner import AirtestCase,run_script

 

标签:框架,python,poco,测试,airtest,Jenkins
From: https://www.cnblogs.com/wang-technology/p/17168161.html

相关文章

  • python numpy中的cumsum的用法
    1、函数作用该函数定义在multiarray.py中有定义defcumsum(self,axis=None,dtype=None,out=None):#realsignatureunknown;restoredfrom__doc__"""......
  • Python实战项目4-首页搭建/git安装使用
    前台主页功能首页页面组件头部组件(小组件)<template><divclass="header"><divclass="slogan"><p>老男孩IT教育|帮助有志向的年轻人通......
  • jmeter测试数据库死锁问题
    场景:    多人同时操作同一对病人不同业务的保存操作,例如:有人修改保存病人资料,有人修改保存病人的治疗方案,有人修改保存病人的B超信息测试步骤:不是为了压测登录操......
  • Python eval代码函数示例
    描述eval()函数用来执行一个字符串表达式,并返回表达式的值。语法以下是eval()方法的语法:eval(expression[,globals[,locals]])参数expression--表达式。globals--变......
  • Python file 函数代码示例
    描述file() 函数用于创建一个file对象,它有一个别名叫 ​​open()​​,更形象一些,它们是内置函数。参数是以字符串的形式传递的。更多文件操作可参考:​​Python文件I/O​......
  • python的应用
    Python是一种开源的、跨平台的编程语言,可以被用于多种应用领域。它可以用来开发Web应用程序、移动应用程序、脚本、数据库、网络爬虫、机器学习、数据分析和自动化任务等......
  • Python 图片转PDF
    直接给接口吧↓用到的库:fpdf,PyPDF2importfpdfdefpicture2pdf(pic_path,output_path,vertical=False,format='A4'):#生成只有一页且铺满源图片的PDFp......
  • Python读取温度矩阵数据
    importcv2,structimportnumpyasnpimportmatplotlib.pyplotaspltclassTempMatrix():def__init__(self):passdefread_temp_matrix_img(......
  • 一款超级给力的弱网测试神器—Qnet(附视频)
    一、APP弱网测试背景App在使用的过程中,难免会遇到不同的弱网络环境,像在公车上、在地铁、地下车库等。在这种情况下,手机常常会出现网络抖动、上行或下行超时,导致APP应用中......
  • 爬虫代码中Python中random模块的方法整理
    1、random产生0~1之间的随机小数。2、randrange在前两个参数范围内产生一个数字。不包括第二个参数,第三个参数是步长。3、randint在两个参数之间产生一个数字,左右两个参数都......