一、简介

AirtestIDE 是一款跨平台的 UI自动化测试编辑器 ,内置了Airtest和Poco的相关插件功能,能够使用它快速简单地编写 Airtest 和 Poco 代码。

1. Airtest框架:

Airtest 是一个跨平台的、 基于图像识别 的UI自动化测试框架,适用于游戏和App,支持平台有Windows、Android和iOS

2. Poco框架

Poco 是一款 基于UI控件识别 的自动化测试框架,目前支持Android原生、iOS原生、Unity3D、cocos2dx、UE4和Egret等平台,也可以在其他引擎中自行接入poco-sdk来使用。

二、常用操作

1. 连接手机

使用USB连接手机:

    1. 选择传输文件模式
    2. 打开开发者模式,并在开发者模式中打开USB调试、允许USB安装应用
    3. 在airtestIDE中点击刷新ADB => 点击connect

2. 新建脚本

auto_setup(__file__)

意思是将脚本文件作为脚本路径传入,其他参数内容将默认读取运行命令行传入的参数。

3. 常用模拟事件

  • touch :点击某个位置,可以设定被点击的位置、次数、按住时长等参数

结果:

  • 坐标点击 == > touch([693, 1867]) / touch([0.51, 0.595])
  • 设置坐标:

  1. 绝对坐标:仅勾选 实时坐标显示 选项,可以实时在手机屏幕画面上显 示出鼠标位置的绝对坐标。

  1. 相对坐标:在勾选了 实时坐标显示 的前提下,再勾选 相对坐标,将 会以(0,0)到(1,1)为范围来显示相对坐标。

  • 相对坐标可避免跨分辨率的操作点超出屏幕的问题。比如调试脚本的手机的绝对坐标可以为(1440,3200),但是换另一部手机绝对坐标最大只能是(600,800)就会出现问题。
  • exists:判断图片是否存在

  • text :调用输入法输入指定内容

前提:手机已安装并切换 Yosemite 输入法。一般情况下使用时会自动安装(开发者模式中设置允许adb安装)

  • wait :等待某个指定的图片元素出现

@ timeout:等待图片出现,使用IDE截图时未加入这个参数,默认20秒。

  • 更改等待时长(如40s):切换代码模式 => 加入 timeout = 40

  • start_app(包名) 替换touch(应用图标),相对用截图脚本来启动应用,脚本会更加简洁,兼容性也会更好。
  • stop_app(包名) 停止运行应用

start_app("com.funny.kyk") = = > 在任意界面打开 “有趣生活”

查看包名:

  • sleep: 强制等待

sleep(5) = = > 等待5秒

  • snapshot :对当前画面截一张图
  • swipe :从一个位置滑动到另外一个位置
  • keyevent :输入某个按键响应,例如回车键、删除键
  • ……

airtest接口文档

https://airtest.readthedocs.io/zh_CN/latest/all_module/airtest.core.api.html#airtest.core.api

三、Python常用语句

1. if 判断

if 条件1 :

条件1成立时执行的代码

elif 条件2:

条件2成立时执行的代码

.......

else:

以上条件都不成立时执行的代码

#elif 可存在多个,if 和 else只能存在一个

score = 72

if score >80 and score <=100:

print("A")

elif score >60 and score <= 80:

print("B")

else:

print("C")

2. while 循环

while 条件:

条件成立时执行的代码

i=1

sum=0

while i<=100:

sum+=i

i=i+1

print(sum)

3. for 循环(遍历)

for 临时变量 in 可迭代对象(列表,字符串,元组,字典) :

循环满足条件时执行的代码

for i in range(x, y, z): x 为起始位置,y 为结束位置, z 为步长,区间左闭右开

for i in range(1, 5, 2):

print(i) = = > 1 3

airtest IDE初级教程的更多相关文章

  1. Siki_Unity_1-6_C#编程初级教程(未学)

    Unity 1-6 C#编程初级教程 任务1:C#和.Net框架 C#是.Net里的一个成分 2002年微软发布第一个.Net框架(多平台,行业标准,安全性) .Net框架 IDE编程工具 --产生- ...

  2. Selenium IDE 基础教程

    Selenium IDE 基础教程 1.下载安装     a 在火狐浏览其中搜索附件组件,查找 Selenium IDE     b 下载安装,然后重启firefox 2.界面讲解      在菜单- ...

  3. Python图像处理库:Pillow 初级教程

    Python图像处理库:Pillow 初级教程 2014-09-14 翻译 http://pillow.readthedocs.org/en/latest/handbook/tutorial.html ...

  4. shellKali Linux Web 渗透测试— 初级教程(第三课)

    shellKali Linux Web 渗透测试— 初级教程(第三课) 文/玄魂 目录 shellKali Linux Web 渗透测试—初级教程(第三课) 课程目录 通过google hack寻找测 ...

  5. Mac OS X Terminal 101:终端使用初级教程

    Mac OS X Terminal 101:终端使用初级教程 发表于 2012 年 7 月 29 日 由 Renfei Song | 文章目录 1 为什么要使用命令行/如何开启命令行? 2 初识Com ...

  6. Coding 初级教程(二)——上传已有项目

    Coding 初级教程(二)——上传已有项目 [摘要:方针读者 :已具有 Coding.net 的账号. 本文首要先容若何把项目上传到 Coding.net 上. 分两种环境,一种是项目已归入到 gi ...

  7. [初级教程]用SecureCRT+Xming轻松远程实现Linux的X DISPLAY

    [初级教程]用SecureCRT+Xming轻松远程实现Linux的X DISPLAY 发布者:sqqdugdu 时间:10-06 阅读数:2117 测试环境:RHEL 6.1,SecureCRT 5 ...

  8. Window服务初级教程以及log4net配置文件初始化

    Window服务初级教程:http://www.jb51.net/article/48987.htm 另外,配置log4net这个日志功能的时候需要初始化,不然会报没有初始化的错误,而且初始化的节点应 ...

  9. 《自学C语言》初级教程 - 目录

    我现在打算出一个C语言学习教程,目的是为了让初学者能够很容易和更深刻地理解C语言. 你可能有这样的疑问,网上不是有很多的初级教程吗,我需要这个吗?我的回答是:网上的C语言教程讲得不够全面,而且许多的初 ...

  10. Android初级教程理论知识(第三章测试&数据存储&界面展现)

    首先介绍单元测试,我在javaweb部分有详细介绍单元测试框架的一篇文章. 可以先看在javaweb中的单元测试详解篇http://blog.csdn.net/qq_32059827/article/ ...

随机推荐

  1. Linux基础操作-01

    Linux操作系统 很多IC设计的EDA工具都是在Linux系统中进行运行的,在IC设计的从业者都需要熟练掌握Linux操做.可以不掌握Linux原理,但是操作要熟练. Linux 操作系统的特点 多 ...

  2. Ubuntu 22.04 运行 Appimage 文件

    解决方法 sudo apt-get update sudo apt install fuse libfuse2 chmod a+x *.appimage 参考资料 https://bynss.com/ ...

  3. 關於ctype.h頭文件的一些函數

  4. 合并JSON文件

    下面是一段简单地代码 用来减少工作量合并代码 <!DOCTYPE html> <html lang="en"> <head> <meta ...

  5. Cnblogs博客皮肤开发调试最佳方案

    Cnblogs博客园支持自定义js来美化站点(需要申请JS权限),可以将主题托管到自己的云资源或CDN加速节点节点上. 例如我的网站为 www.example.com(IP或其它host),我将编译后 ...

  6. CentOS7安装了图形界面为默认如何修改默认登录到控制台

    在安装的时候,选择了图形界面安装,一段时间后,想还是直接登录到控制台,需要的时候在手动登录到图形界面, 在CentOS7中的设置方法不同与之前的版本 在之前的版本中是修改配置文件 sudo nano ...

  7. 图说论文《An Empirical Evaluation of In-Memory Multi-Version Concurrency Control》

    本文从< An Empirical Evaluation of In-Memory Multi-Version Concurrency Control>摘取部分图片,来介绍 MVCC. 该 ...

  8. 记一次google手机恢复出厂设置到root抓包全过程

    前言 开始因为手机密码忘记了,不想重置,不然找店家root的工具都没了,自己也不会google root的操作,之前听说还挺麻烦的.操作了半天好了,确实是挺麻烦的,做个记录. 一.恢复出厂设置 还原教 ...

  9. URL带参数json传递进行解析

    注意参数格式是要加密的: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...

  10. hash和hash tree

    在理想情况下,我们希望不经过任何比较,一次存取便能得到所查的记录,那就必须在记的存储位置和它的关键字之间建立一个确定的对应关系,使每个关键字和一个唯一的存储位置对应,因而在查找时候,根据这个对应关系与 ...