《共建开源》系列: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.hqwc.cn/news/342125.html

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

相关文章

【C++进阶06】红黑树图文详解及C++模拟实现红黑树

一、红黑树的概念及性质 1.1 红黑树的概念 AVL树用平衡因子让树达到高度平衡 红黑树可以认为是AVL树的改良 通过给每个节点标记颜色让树接近平衡 以减少树在插入节点的旋转 在每个结点新增一个存储位表示结点颜色 可以是Red或Black 通过对任何一条从根到叶子的路径上 各个结点…

YOLOv8改进 | 二次创新篇 | 在Dyhead检测头的基础上替换DCNv3 (全网独家首发)

一、本文介绍 本文给大家带来的改进机制是在DynamicHead上替换DCNv3模块,其中DynamicHead的核心为DCNv2,但是今年新更新了DCNv3其作为v2的升级版效果肯定是更好的,所以我将其中的核心机制替换为DCNv3给Dyhead相当于做了一个升级,效果也比之前的普通版本要好,这个机制我认…

代码随想录 Leetcode24. 两两交换链表中的节点

题目: 代码(首刷看解析 2024年1月12日): class Solution { public:ListNode* swapPairs(ListNode* head) {if(headnullptr) return nullptr;ListNode* cur new ListNode(0,head);ListNode* dummy cur;while(cur->next ! nullptr &&…

2022 年全国职业院校技能大赛高职组云计算赛项试卷

【赛程名称】云计算赛项第一场-私有云 某企业拟使用OpenStack 搭建一个企业云平台,以实现资源池化弹性管理、企业应用集中管理、统一安全认证和授权等管理。 系统架构如图 1 所示,IP 地址规划如表 1 所示。 图 1 系统架构图 表 1 IP 地址规划 设备…

磷酸铁锂电池生产污废水需要哪些工艺及设备

磷酸铁锂电池作为一种常见的锂离子电池,已广泛应用于电动汽车、储能系统等领域。然而,在磷酸铁锂电池的生产过程中,难免会产生一定量的污废水。为了有效处理和处理这些污废水,我们需要合适的工艺和设备。 首先,针对磷酸…

辟谣了!这款爆火的全能家务机器人竟是人类幕后操作?

原创 | 文 BFT机器人 近日,一款具备多种家务技能的全能家务型机器人火遍全网! 在一段视频中,这款机器人展示了烹饪、打扫、浇花等多种家务技能,令人惊叹不已。 除此之外,它还能整理床铺、叠衣服、逗宠物、自主坐电梯等…

【qt】sdk写pro写法,cv,onnx,cudnn

我的sdk在OpenCV003项目里: pro中添加 CONFIG(release, debug|release) {LIBS -L$$PWD/sdk/onnxruntime-x64-gpu/lib/ -lonnxruntimeLIBS -L$$PWD/sdk/onnxruntime-x64-gpu/lib/ -lonnxruntime_providers_cudaLIBS -L$$PWD/sdk/onnxruntime-x64-gpu/lib/ -lon…

Mysql 查询最近12个月的数据

示例: 比如现在是2024年 1月, 我们想查询最近12个月的数据。 那么就是 2024-01 的数据,以及 2023-02 到2023-12的数据,一共12个月数据。 ps: 当然起始我们能自然而然拿到最近12个月的起始和结束时间,那么…

计算机毕业设计-----Springboot ERP管理系统

项目介绍 系统主要功能包括: 首页 零售管理:零售出库、零售退货; 采购管理:采购订单、采购入库、采购退货; 销售管理:销售订单、销售出库、销售退货; 仓库管理:其它入库、其它出库、…

C++系列-第1章顺序结构-5-输入类cin

在线练习: http://noi.openjudge.cn/ https://www.luogu.com.cn/ 总结 本文是C系列博客,主要讲述输入类cin的用法 输入类cin C 中的 cin 是标准输入流对象,它关联到程序的标准输入,通常是指键盘。cin 提供了多种方法来读取用户…

CentOS7中将MySQL注册为系统服务开机启动

实际生产环境中为了避免重启服务器后所有的服务都手动启动带来的麻烦,建议所有基础服务都设置为开机自动启动。本章节我们主要演示在Centos7中如何将MySQL注册为系统服务,并实现开机自动启动。 ① 手动启动mysql,查看进程信息,复制…

Camunda Spin

Spin 常用于在脚本中解析json或者xml使用,S(variable) 表示构造成Spin对象,通过prop(“属性名”)获取属性值,通过stringValue()、numberValue()、boolValue() 等对类型转换。 repositoryService.createDeployment().name("消息事件流程&…