APP自动化测试1-2阶段视频演示
app自动化演示
APP自动化原理总结
Airtest是一款跨平台的UI自动化测试框架,主要用于游戏和应用的UI自动化测试。其自动化原理主要基于图像识别技术和模拟用户输入事件的方式实现对APP界面元素的操作与验证。以下是Airtest自动化的主要原理总结:
1. **图像识别技术**:
Airtest的核心机制之一是屏幕截图分析。它能够截取当前屏幕的画面,通过图像识别算法定位屏幕上的UI元素。例如,通过对比预先保存的图片模板与当前屏幕快照,找出匹配的区域,进而确定UI元素的位置。
2. **模拟用户输入**:
根据图像识别得到的元素位置信息,Airtest可以模拟用户的各种交互行为,如点击、滑动、长按、输入文字等。这些操作都是通过向操作系统发送相应的模拟事件来实现的,就像真实用户在屏幕上触摸或按键一样。
3. **设备通信与控制**:
Airtest支持多种移动设备和模拟器,包括Android、iOS设备及各类游戏手柄等。它通过ADB(Android Debug Bridge)与Android设备通信,通过iTunes或libimobiledevice与iOS设备通信,实现对设备的控制与数据读取。
4. **脚本编写与执行**:
用户可以使用Python语言编写Airtest脚本,脚本中包含了自动化测试的各个步骤,如启动应用、操作UI元素、验证结果等。Airtest提供了丰富的API,简化了脚本编写难度,提高了脚本的可读性和维护性。
5. **日志与报告**:
Airtest在执行过程中会记录详细的日志信息,包括每个步骤的执行情况、截图、错误信息等。测试结束后,可以生成可视化报告,便于查看测试结果和排查问题。
6. **跨平台兼容**:
Airtest设计时就考虑到了跨平台兼容性,使得同一份脚本可以在不同的平台上运行,大大提高了自动化测试的效率和便利性。
综上所述,Airtest通过图像识别和模拟用户输入相结合的方式,实现了对APP界面的精确控制和自动化测试,适用于游戏和应用的UI自动化测试需求。
在App自动化执行时,其实是经历了如下的过程:
1.客户端运行测试脚本,并将指令通过Appium服务器发送给手机端,
2.然后在手机端执行测试。
3.在执行完之后,结果又会一级级返回到Client客户端。
4.我们可以通过分析执行结果来了解App是否按照预期来工作。
操作流程
选择工具Airtest
一:开启手机开发者模式
开启手机USB调试
二:Window安装airtest
三、airtest连接手机
双击connect
连接成功
四、通过airtest获取元素信息
切换成android
自动生成脚本
运行脚本
查看报告
测试报告
定位常用或者可能遇到的操作
下滑方法
width, height = device().get_current_resolution()
# 校准滑动的起点和终点,因为大部分app上下有底栏和顶部导航,不在滑动范围,所以这里的height不是从0.1开始
start_pt1 = (width / 2,height * 0.7)
end_pt1 = (width / 2,height * 0.3)
start_pt2 = (width *0.9,height / 2)
end_pt2 = (width *0.1,height / 2)
# 上滑N次:
for i in range(3):
swipe(start_pt1, end_pt1,1000)
文本输入框
touch(输入框)
shell("input text '456546'")
输入栏循环删除
for i in range(5):
keyevent("KEYCODE_DEL")
注意格式
1.循环执行脚本
2.随机生成区间数字在输入栏并输入
# -*- encoding=utf8 -*-
__author__ = "86150"
from airtest.core.api import *
from random import randint
import random
auto_setup(__file__)
a = 1
while a < 1000:
touch("输入栏")
i=(random.randint(1000,2000))
shell(f"input text {i}")
a = a + 1