《共建开源》系列:Airtest-Framework - UI自动化框架系统

Airtest- Framework

平台简介

Airtest- Framework 是 基于 unittest、Flask、Airtest 搭建的 开源的 UI 自动化框架系统

  • 提供 HTTP API 接口,实现自动解析包名并自动执行 相应目录下的 Case
  • 目前仅支持单台设备连接。
  • 多个任务会自动排队处理。

系统要求

  • Python >= 3.8

系统模块

├── Base                  // 基础目录
├── Common         		  // 公共目录
├── Entrance              // Flask 服务入口└── run.py			  // 项目启动文件
├── Test              	  // 测试目录
├── TestCase              // 测试用例目录
├── TestData              // 测试用数据目录
├── TestSuite             // 测试用套件目录
├── requirements.txt      // 项目依赖文件

架构图

安装

1、下载项目:

git clone https://gitee.com/panlsp/airtest-framework.git

2、进入项目目录:

cd Airtest-Framework

3、安装依赖项

pip install -r requirements.txt# 指定清华源下载
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

修改配置

手机连接到电脑,使用 ADB 命令查看当前设备列表

> adb devices
List of devices attached
RKKDU17C30000079        device

Base/ConstPool.py

# 添加手机设备信息(值改为自己的手机设备)
DEVICE1 = "Android://127.0.0.1:5037/RKKDU17C30000079"

启动

启动项目

python Entrance/run.py

在这里插入图片描述

请求接口

  • 接口地址:http://127.0.0.1:5000/airtest/add_task

  • 请求方式:POST (form-data)

  • 请求参数(网络地址的APK下载地址):apk_url:https://downapp.baidu.com/baidusearch/AndroidPhone/13.49.0.10.1/1/1037068k/20240106221103/baidusearch_AndroidPhone_13-49-0-10-1_1037068k.apk

  • 返回值:

    {"code": 0,"data": "ok","msg": "success"
    }
    

执行完成

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

编写 TestCase 注意事项

命名规范

1、读取需要测试的包名,例:com.baidu.searchbox
2、TestCase新建程序名称文件夹,如:baidu
3、新建Python文件&测试类(BaiduSearchbox):大驼峰结构

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/615732.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【动态规划】【二分查找】C++算法 466 统计重复个数

作者推荐 【动态规划】458:可怜的小猪 涉及知识点 动态规划 二分查找 力扣:466 统计重复个数 定义 str [s, n] 表示 str 由 n 个字符串 s 连接构成。 例如,str [“abc”, 3] “abcabcabc” 。 如果可以从 s2 中删除某些字符使其变为 s1,则称字符串…

互信息法的原理详解

文章目录 互信息法(上)互信息是什么从信息增益角度理解互信息从变量分布一致角度理解互信息 卡方检验与离散变量的互信息法 互信息法(上) 尽管f_regression巧妙的构建了一个F统计量,并借此成功的借助假设检验来判断变…

跨境商城系统如何开发代购商城、国际物流、一件代发等功能?

跨境商城系统的开发涉及到多个方面,其中代购商城、国际物流和一件代发等功能是其中的重要组成部分。本文将详细介绍如何开发这些功能,以帮助跨境商城系统更好地满足市场需求。 一、代购商城的开发 代购商城是跨境商城系统中的重要功能之一,它…

互联网加竞赛 基于大数据的股票量化分析与股价预测系统

文章目录 0 前言1 课题背景2 实现效果3 设计原理QTChartsarma模型预测K-means聚类算法算法实现关键问题说明 4 部分核心代码5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于大数据的股票量化分析与股价预测系统 该项目较为新颖…

小程序基础学习(导航栏组件)

目标:把导航栏抽离成组件,

oracle 19c容器数据库data dump数据泵传输数据(2)---11g导19c

目录 1.在11gnon-cdb数据库中创建测试用户 2.在19cCDB容器数据库中新建pdb2 3.执行命令导出 4.执行命令导入 Exporting from a Non-CDB and Importing into a PDB 我們要記住一点:如果是全库导出导入的话,目标数据库没有的表空间我们要事先创建&#…

Java中输入和输出处理(四)序列化和反序列化

Java中输入和输出处理(四)序列化和反序列化的笔记 一、序列化 序列化是将对象的状态信息转换为可以存储或传输的形式的过程。在Java中,我们可以使用java.io.Serializable接口来实现对象的序列化。 示例: import java.io.*;clas…

提高iOS App开发效率的方法

引言 随着智能手机的普及,iOS App开发成为越来越受欢迎的技术领域之一。许多人选择开发iOS应用程序来满足市场需求,但是iOS App开发需要掌握一些关键技术和工具,以提高开发效率和质量。本文将介绍一些关键点,可以帮助你进行高效的…

Flying HTML生成PDF添加水印

HTML转PDF并添加水印 <!-- 用于生成PDF --> <dependency><groupId>org.xhtmlrenderer</groupId><artifactId>flying-saucer-pdf</artifactId><version>9.1.20</version> </dependency>import java.io.File; import jav…

os.path模块常用函数

os.path模块提供用于处理文件路径的函数&#xff0c;这些函数可以跨平台使用&#xff0c;因为他们会根据操作系统的不同选择适当的路径分隔符。 1.os.path.join(path, *paths) 作用&#xff1a;将多个路径组合成一个完整的路径 path os.path.join(/path/to example file.…

基础知识篇(一)Acticity生命周期

Activity 类是 Android 应用的关键组件&#xff0c;而 activity 的启动和组合方式是平台应用模型的基本组成部分。与使用 main() 方法启动应用的编程范式不同&#xff0c;Android 系统会通过调用与其生命周期特定阶段对应的特定回调方法&#xff0c;在 Activity 实例中启动代码…

ChatGpt使用技巧

通用类技巧 角色扮演 比如让ChatGpt扮演500强营销专家 告诉ChatGpt你的身份。初学者、或是有一定能力、知识的学习者等 限制ChatGpt回答长度 100~200字之间 让ChatGpt一步一步思考 他会预测下一个单词&#xff0c;根据prompt进行生成 明确你的要求和目的 说清楚问题&#x…

为什么杭州的独角兽公司的技术专家都是阿里巴巴出来的?

在浙江杭州有一个不成为的规定&#xff0c;独角兽公司招聘技术人才的时候&#xff0c;尤其是阿里巴巴出来的技术专家&#xff0c;面试官都是争先恐后的面试&#xff0c;总是想第一时间把这个人拿到手&#xff0c;当然前提是这个技术专家不是水货。 猎头推荐人才的时候&#xf…

网络安全(网络安全)—2024自学

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高&#xff1b; 二、则是发展相对成熟…

Docker 配置国内镜像源加速

1. 国内镜像源总览 名称路径中国官方镜像https://registry.docker-cn.com网易163镜像http://hub-mirror.c.163.com中科大镜像https://docker.mirrors.ustc.edu.cn阿里云镜像https://[xxx].mirror.aliyuncs.com 2. 阿里云镜像源 地址&#xff1a;https://cr.console.aliyun.c…

同样的行情为什么有人亏损有人盈利?现货白银关键的管理细节要知道

给同样一波趋势行情两个人做交易&#xff0c;就算大家执行一样的交易策略&#xff0c;但结果却也有可能有所不同&#xff0c;有人盈利有人亏损&#xff0c;而盈利的人中可能有的人多&#xff0c;有的人少&#xff0c;这是为什么呢&#xff1f;其实很多投资者忽略了进行现货白银…

修改SSH默认端口,使SSH连接更安全

以CentOS7.9为例&#xff1a; 1、修改配置文件 vi /etc/ssh/sshd_config 2、远程电脑可连接&#xff0c;暂时将SELinux关闭 # 查询状态 getenforce # 关闭 setenforce 0 # 开启 setenforce 1 3、SELinux设置&#xff08;如果启用&#xff09;&#xff0c;semanage管理工具安…

想寻找Axure的替代品?我们已经试用了10+款设计工具,来看看吧!

Axure是许多产品经理和设计师进入快速原型设计的首选工具&#xff0c;但Axure的使用成本相对较高&#xff0c;学习曲线陡峭&#xff0c;许多设计师正在寻找可以取代Axure的原型设计工具&#xff0c;虽然现在有很多可选的设计工具&#xff0c;但质量不均匀&#xff0c;可以取代A…

【PaperReading】3. PTP

Category Content 论文题目 Position-guided Text Prompt for Vision-Language Pre-training Code: ptp 作者 Alex Jinpeng Wang (Sea AI Lab), Pan Zhou (Sea AI Lab), Mike Zheng Shou (Show Lab, National University of Singapore), Shuicheng Yan (Sea AI Lab) 另一篇…

老师的课堂行为包括什么内容

课堂行为对于学生的学习体验和成长至关重要。我在课堂上的一举一动&#xff0c;不仅影响着学生的学习效果&#xff0c;还关系着学生的心理健康和人格发展。那么&#xff0c;老师的课堂行为究竟包括哪些内容呢&#xff1f;接下来&#xff0c;我将以知乎老师的口吻&#xff0c;为…