当前位置:   article > 正文

python-自动化Airtest-1Airtest IDE篇_no cmdline args

no cmdline args

一:Airtest 简介

为了降低自动化测试的门槛,用更少的精力产出更多高效的自动化脚本,来达到提升测试效率的目的,网易推出了一整套解决方案,项目命名为Airtest Project。
网易出品一个基于python 的跨平台、基于图像识别的自动化测试框架,适用于游戏、app;支持平台 AirTest在Windows、iOS、Android 款UI自动化测试工具

下载官网: https://airtest.netease.com/
代码库下载:https://github.com/AirtestProject/Airtest
支持 WebUI自动化、android App 、IOS App 自动化测试

下载内容为一个免安装的压缩包,解压后自带所有的环境,自动生成脚本,自带编辑器、模拟器等;可以直接点击打开-skip-使用

整个工具套件由Airtest IDE、Airtest、Poco、Airlab组成

Airtest IDE:跨平台的UI自动化编辑器
Airtest:基于python的跨平台的UI自动化测试框架,基于图像识别原理
Poco:基于UI空间搜索的自动化框架
Airlab:网易Airtest云测试服务

二:Airtest IDE界面简介

菜单栏与快捷方式按钮

常用:
窗口:编辑界面显示功能窗口
辅助窗口-主要是调用一些API
在这里插入图片描述
touch:触摸
swipe:滑动
wait:等待
exist:是否存在
snapshot:截屏
text:输入文本
keyevent:按键
sleep:休眠
assert_exist:断言存在
assert_not_exist:断言不存在
assert_equal:断言相等
assert_not_equal:断言不相等

Poco库-UI自动化框架
针对于游戏、app
在这里插入图片描述

selenium 框架
主要做web UI自动化
在这里插入图片描述
脚本区域
点击Airtest中的操作指令,再到连接设备窗口中截图,完成一条操作步骤

在这里插入图片描述
日志区域
在这里插入图片描述
其中调节过滤框可以调整输出日志

模拟器框
在这里插入图片描述

三:Airtest IDE自动化测试

1> 设备链接

adb 调通后—》点击Airtest 上connect 按钮–》显示镜像信息表示连接上
或者连上模拟器;

2> demo 调试

Script Editor 页面运行代码

# -*- encoding=utf8 -*-
__author__ = "CHH_PC"

from airtest.core.api import *
from airtest.cli.parser import cli_setup

if not cli_setup():
    auto_setup(__file__, logdir=True, devices=["android://127.0.0.1:5037/27QGL20828000064?cap_method=MINICAP&&ori_method=MINICAPORI&&touch_method=MINITOUCH",])


# script content
print("start...")
touch(截图点击内容)
        
# generate html report
# from airtest.report.report import simple_report
# simple_report(__file__, logpath=True)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

Log Viewer 日志打印
在这里插入图片描述
通过选择显示日志级别,选择查询运行info;报错信息也在此打印

功能窗口-查看日志
在这里插入图片描述
选择其他浏览器可能报错-一般选择谷歌浏览器;
运行事件、日志、运行结果、预览截图、匹配度等信息;

也可全部 成功 失败 断言 选择查看自己需要信息;

注意:调试时候可以运行选择的代码

图片识别规则设置
双击进入图片编辑模式
在这里插入图片描述
Snapshpt&Recongnition:截图+自动识别;如下显示和识别位置
在这里插入图片描述

show help: 帮助信息
右侧:
filename :文件名
threshold:阈值
target_pos:在图片上对应1-9,其中0与5在中央位置,位置一样
rgb:是否开启彩色识别

注释
和python代码注释一致;# 或者快捷按键 Ctrl+/ 多行注释

四:Airtest IDE 语法API

1> text API

在这里插入图片描述
确认光标在时,点击text 输入内容–需要input 信息
注意:自动化时要确定方标位置

text(text, enter =True,search = False)
@text: 输入文本
@enter 完成后自动执行enter操作,默认为True
@search 完成后强制执行search操作,默认为False

2> touch API

在这里插入图片描述
点击Touch 后在右侧模拟器屏幕上点击画出–点击区域

截图信息自动转为代码 ==》 touch(图标信息)

3> wait API

wait api 包含4个元素:
V:点击的图片或者坐标
timeout:等到超市时间,默认20s
interval:每次寻找的时间间隔,默认0.5s
intervalfunc:图片没有找到,就执行后面函数,默认,None
return :返回中心坐标,或者报错;
在这里插入图片描述

[Start running..]
no cmdline args
start...
(520, 1397)
[Finished]
  • 1
  • 2
  • 3
  • 4
  • 5

上图中进行两次找图;

wait:找到图标,并返回(520, 1397)中心坐标;
执行touch点击操作

为节约系统资源和时间可以:
在这里插入图片描述

4> swip API

作用:从一个位置滑动到另一个位置
参数:
VI:点击图片或者坐标
V2:图片或者坐标
vector:【x,y】录制的自动生成;记录滑动比例;向右X轴为正向,向下为Y轴为正向
duration:滑动操作的持续时长,默认,0.5s
第一种方法:
在这里插入图片描述
第二种方法:
在这里插入图片描述

5> keyevent API

参数:
keyname:按键名,可以是键名,可以是键码
常用的键码:

功能键名键码
HomeKEYCODE_HOME3
菜单键KEYCODE_MENU82
返回键KEYCODE_BACK4
电源键KEYCODE_POWER26
扬声器静音键KEYCODE_VOLUME_MUTE164
音量增加键KEYCODE_VOLUME_UP24
音量减小键KEYCODE_VOLUME_DOWN25
回车键KEYCODE_ENTER66
ESC键KEYCODE_ESCAPE111
导航键 确定键KEYCODE_DPAD_CENTER23
导航键 向上KEYCODE_DPAD_UP19
导航键 向下KEYCODE_DPAD_DOWN20
导航键 向左KEYCODE_DPAD_LEFT21
导航键 向右KEYCODE_DPAD_RIGHT22
光标移动到开始键KEYCODE_MOVE_HOME122
光标移动到末尾键KEYCODE_MOVE_END123
向上翻页键KEYCODE_PAGE_UP92
向下翻页键KEYCODE_PAGE_DOWN93
退格键KEYCODE_DEL67
删除键KEYCODE_FORWARD_DEL112

例如:
返回home操作;
在这里插入图片描述

6> sleep API

功能:暂停时间等待,单位s,默认1.0s
在这里插入图片描述
sleep(1.0)

7> snapshot API

功能:截图,截图当前屏幕,可在测试报告中显示
参数:
filename:保存截图为指定文件
msg:描述测试点,可以在html测试报告中体现;
在这里插入图片描述
运行截图并添加监测点:

snapshot(msg=“截图界面是否存在淘宝安装图标.”)

查看html报告-及截图信息
在这里插入图片描述

8> exits API

功能:判断图片是否存在,存在返回图片中心坐标,不存在返回False
参数:
V:图片
return:返回值,存在返回坐标,不存在返回False;
在这里插入图片描述

实例:
在这里插入图片描述

no cmdline args
start...
(390, 491)
[Finished]
  • 1
  • 2
  • 3
  • 4

测试报告内容:
在这里插入图片描述
在这里插入图片描述

9> assert_exists&assert_not_exists

assert_exists功能:
判断图片是否存在,如果存在就返回图片的中心坐标,不存在就raise AssertionError
assert_exists 参数:
V:图片
msg:描述测试点,他将被记录在报告中
return:存在返回图片中心坐标,不存在就raise AssertionError
在这里插入图片描述
assert_not_exists功能:
判断图片是否不存在,如果存在就raise AssertionError

assert_not_exists 参数:
V:图片
msg:描述测试点,他将被记录在报告中
在这里插入图片描述
例如:

在这里插入图片描述
degug_info:

Traceback (most recent call last):
  File "AirtestIDE.py", line 82, in <module>
  File "AirtestIDE.py", line 58, in main
  File "app\widgets\code_runner\tracer.py", line 72, in run_pyfile
  File "D:\AirtestIDE_Obj\python.py", line 18, in <module>
    assert_not_exists(Template(r"tpl1654432855809.png", record_pos=(0.047, 0.261), resolution=(720, 1440)), "判断英雄联盟手游不存在")
  File "airtest\utils\logwraper.py", line 90, in wrapper
  File "airtest\core\api.py", line 689, in assert_not_exists
AssertionError: Template(D:\AirtestIDE_Obj\tpl1654432855809.png) exists unexpectedly at pos: (395, 909), message: 判断英雄联盟手游不存在
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

测试报告查询:
1.图片存在,assert_exists正常执行
在这里插入图片描述
2.图片存在,assert_not_exists报错;在这里插入图片描述

10> assert_equal&assert_not_equal

assert_equal 功能:
判断第一个值和第二个值是否相等
assert_equal参数:
first:第一个对比条目
second:第二个对比条目
msg:监测点,测试报告中显示
在这里插入图片描述
assert_equal demo:

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

assert_not_equal功能:
判断第一个值和第二个值不相等

assert_not_equal参数:
first:第一个对比条目
second:第二个对比条目
msg:监测点,测试报告中显示
在这里插入图片描述

assert_not_equal demo:

在这里插入图片描述

log:
在这里插入图片描述

五:代码篇 Airtest包

1>python-自动化Airtest-2代码篇 Airtest包

https://blog.csdn.net/weixin_42914706/article/details/125136786

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/276260
推荐阅读
相关标签
  

闽ICP备14008679号