当前位置: 首页 > news >正文

【airtest】自动化入门教程(一)AirtestIDE

目录

一、下载与安装

1、下载

2、安装

3、打开软件

二、web自动化配置

1、配置chrome浏览器

2、窗口勾选selenium window

 三、新建项目(web)

1、新建一个Airtest项目

2、初始化代码

3、打开一个网页 

四、恢复默认布局

五、新建项目(app)

1、新建一个项目app_test项目

2、连接机器

2.1 真机打开开发者模式,开启usb调试,连接上数据线。

2.2 连接真机

3、连接模拟器 

3.1 打开MuMu模拟器

3.2 连接模拟器

4、打开一个app应用

5、优化代码,使用包名打开app

 6、swipe划动

7、Poco 辅助框

7.1 初始化设置

7.2 锁定页面定位元素(手机页面不可操作)

7.3 页面不锁定,可操作

7.4 脚本录制

六、 查看报告

七、附录

1、Android助手

2、 坐标


前言:使用airtest如何进行web、app自动化?AirtestIDE 是一个我们配套推出的跨平台的UI自动化测试编辑器,内置了Airtest和Poco的相关插件功能,能够使用它快速简单地编写脚本

一、下载与安装

1、下载

 下载地址:Airtest Project

2、安装

解压即可

3、打开软件

二、web自动化配置

1、配置chrome浏览器

选项-设置-输入浏览器的安装路径即可

2、窗口勾选selenium window

勾选左侧会出现

 三、新建项目(web)

1、新建一个Airtest项目

项目取名web_test

2、初始化代码

点击

3、打开一个网页 

四、恢复默认布局

五、新建项目(app)

1、新建一个项目app_test项目

2、连接机器

2.1 真机打开开发者模式,开启usb调试,连接上数据线。

2.2 连接真机

如果真机未出现,点击重启ADB

连接真机点击 connect,即可连接成功

3、连接模拟器 

雷电模拟器比较容易,基本上很容易

3.1 打开MuMu模拟器

cmd输入

adb devices

执行下面的命令

adb.exe connect 127.0.0.1:7555

3.2 连接模拟器

说远程连接也行,我发现2个地方都行

adb shell pm list package  # adb获取app包名,其他方式不说了,网上太多

4、打开一个app应用

点击touch,然后到右侧取框选app即可,测试一下,点击 运行  即可执行打开app

优化一下代码

5、优化代码,使用包名打开app

# -*- encoding=utf8 -*-
__author__ = "cheng"from airtest.core.api import *auto_setup(__file__)d = device()
all_app = d.list_app()
print(all_app)  # 查看手机安装所以app的包名
soul = "cn.soulapp.android"
start_app(soul)# 打开soul
sleep(3)
stop_app(soul)
# home()  # 返回home页面

 6、swipe划动

选择起点和终点 或者起点图片等方式

下图是通过图片滑动,修改图片匹配度的值

7、Poco 辅助框

click、send命令都可根据找出的元素进行操作

7.1 初始化设置

选择Android,然后yes导入初始化代码

from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)

7.2 锁定页面定位元素(手机页面不可操作)

点击锁定元素,然后再右侧选择元素点击,在从左侧双击即可实现元素定位

7.3 页面不锁定,可操作

 

7.4 脚本录制

六、 查看报告

七、附录

1、Android助手

先得连上机器或者模拟器

点击刷新可以获取包名

2、 坐标

选项-设置,开启了坐标就可以在右侧鼠标放上去显示坐标

http://www.lryc.cn/news/309811.html

相关文章:

  • ChatGPT支持下的PyTorch机器学习与深度学习技术应用
  • Springboot+vue的医药管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。
  • C语言:预处理
  • 计算机网络:路由协议
  • 经典动态规划题目leetcode322. 零钱兑换
  • python 使用curl_cffi 绕过jax3指纹-Cloudflare 5s盾
  • Python3学习笔记39-passlib
  • Matlab 机器人工具箱 动力学
  • Android ShellUtils手机管理器
  • 《梦幻西游》本人收集的34个单机版游戏,有详细的视频架设教程,值得收藏
  • 吴恩达机器学习全课程笔记第六篇
  • ue4.27 发现 getRandomReachedLocation 返回 false
  • 【C++ AVL树】
  • 记录一次架构优化处理性能从3千->3万
  • c++二进制位运算使用方法
  • TypeScript之JSON点语法调用
  • 手撕Java集合之简易版Deque(LinkedList)
  • MySQL知识点归纳总结(二)
  • vue:实现顶部消息横向滚动通知
  • [笔记] wsl 禁用配置 win系统环境变量+代理
  • Mysql标量子查询
  • 深入了解Java虚拟机(JVM)
  • Image Fusion via Vision-Language Model【文献阅读】
  • 探索Manticore Search:开源全文搜索引擎的强大功能
  • AI 笔记助手,你的思路整理助手
  • EchoServer回显服务器简单测试
  • 车灯修复UV胶的优缺点有哪些?
  • 探讨倒排索引Elasticsearch面试与实战:从理论到实践
  • 网安入门18-XSS(靶场实战)
  • 爬虫的一些小技巧总结