前言:使用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、start_web打开一个网页
4、touch 点击
5、text 输入文本
这里输入之后,跟了一个回车
driver.find_element_by_id("kw").send_keys("春天的菠菜",Keys.ENTER)
6、assert断言
driver.assert_exist("kw", "id", "请填写测试点.")
7、snapshot截图
不输入名称默认名称null
driver.snapshot() # 截图名称null
driver.snapshot("百度") # 截图有名称
8、driver.airtest_touch(不完善,尽量少使用)
通过图像识别来点击
9、driver.assert_template(不完善,尽量少使用)
根据图片识别断言
10、driver.switch_to_previous_tab()
切换到之前的标签页
11、driver.switch_to_new_tab()
切换到最新的标签页
12、driver.back()
向前返回到前一个页面
13、driver.forward()
前进下一个页面
四、恢复默认布局
五、新建项目(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、 坐标
选项-设置,开启了坐标就可以在右侧鼠标放上去显示坐标
3、使用poco的文本正则表达式
poco(textMatches=".*请输入ip地址")
4、使用Android录制不到部分对象
一般都是UI树加载不正确,解决方案很诡异,1、确保PocoServcie是开启的 2、(诡异)我需要打开mumu浏览器的系统应用-设置(还不能关闭),然后(通过标签页)再回到APP就正常了。
5、appium定位的content-desc对象这里叫desc
poco(desc="登录").click()
6、windows应用程序(无嵌入方式)
勾选(嵌入方式,直接跳过这步)
后续使用这个
7、导出报告等
8、部署本地python环境
9、命令行运行脚本与生成报告
9.1 运行脚本
9.2 生成报告
10、使用pycharm编写脚本
在aritestide创建python脚本
10.1 pycharm项目先安装好python环境对应库(见附录8)
10.2 可直接复制代码到pycharm文件
注意如果存在图片,注意图片路径问题
10.3 配置设备连接信息和日志信息
10.4 导出报告
11、示例
版权归原作者 春天的菠菜 所有, 如有侵权,请联系我们删除。