1、前言

airtest官网:Airtest Project

视频讲解:【网易Airtest第7课】如何编写并运行你的第一个Airtest脚本_哔哩哔哩_bilibili

2、Android自动化小妙招

1)如果机器锁屏,唤醒机器

poco.device.wake()

2)启动APP

常用的启用APP方式

方式一:指定名称

poco("日历").click()

方式二:指定图片

touch(Template(r"tpl123456.png", record_pos=(0.359, 0.969), resolution=(1080, 2244)))

方式三:使用airtest自带函数:start_app("app包名")/stop_app(appName)

# 打开网易云音乐
start_app("com.netease.cloudmusic")

3)判断元素是否存在

if poco("name").exists():poco("name").set_text(serId)
else: poco("choose_server").click()poco("edit_name").set_text(serId)

3、iOS自动化小妙招

1)机器连接

tidevice脱离mac搞iOS自动化

脱离Mac搞iOS自动化,tidevice工具教你轻松实现!

iOS真机安装WebDriverAgent

iOS真机安装WebDriverAgent图文详解_坚韧顽强的搬砖小伙的博客-CSDN博客_ios安装webdriveragent

2)脚本编写

文本输入:选中文本输入框click()后,text("文本内容")

#先点击输入框,再输入内容
poco("SecureTextField").click()
text("autotest1")

4、Jenkins持续集成

在启动时希望自定义参数:

1)自定义python文件

from airtest.cli.runner import AirtestCase, run_script
from airtest.cli.parser import runner_parser
class CustomAirtestCase(AirtestCase):def setUp(self):# 在air脚本运行之前获取这个自定义的参数if self.args.serverIdCur:self.scope['serverIdCur']=self.args.serverIdCurif self.args.appNameCur:self.scope['appNameCur'] = self.args.appNameCurif __name__ == '__main__':ap = runner_parser()# 添加自定义的命令行参数ap.add_argument('-r', "--serverIdCur", help="请输入服务器ID")ap.add_argument('-app', "--appNameCur", help="请输入APP名")args = ap.parse_args()run_script(args, CustomAirtestCase)

2)在.air文件中接收变量

serverId = serverIdCur
appName = appNameCur

3)Jenkins流水线命令

node {
stage('UI测试') {try {sh "python start.py All.air --device Android:///12345 --log ./log --serverIdCur $serverId --appNameCur $appName" } catch (err) {echo "Caught: ${err}"}
}stage('上传结果') {sh "airtest report ./All.air --log_root ./log --export ./HTML"archiveArtifacts artifacts: 'HTML/**/*', followSymlinks: false
}
}

airtest学习笔记相关推荐

  1. Airtest学习(四)

    学习笔记-airtest自动化 笔记目录:https://blog.csdn.net/weixin_42717928/article/details/114343085 昨天下了雨,今天刮了风,明天太 ...

  2. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  3. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  4. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  5. 2020年Yann Lecun深度学习笔记(下)

    2020年Yann Lecun深度学习笔记(下)

  6. 2020年Yann Lecun深度学习笔记(上)

    2020年Yann Lecun深度学习笔记(上)

  7. 知识图谱学习笔记(1)

    知识图谱学习笔记第一部分,包含RDF介绍,以及Jena RDF API使用 知识图谱的基石:RDF RDF(Resource Description Framework),即资源描述框架,其本质是一个 ...

  8. 计算机基础知识第十讲,计算机文化基础(第十讲)学习笔记

    计算机文化基础(第十讲)学习笔记 采样和量化PictureElement Pixel(像素)(链接: 采样的实质就是要用多少点(这个点我们叫像素)来描述一张图像,比如,一幅420x570的图像,就表示 ...

  9. Go 学习推荐 —(Go by example 中文版、Go 构建 Web 应用、Go 学习笔记、Golang常见错误、Go 语言四十二章经、Go 语言高级编程)

    Go by example 中文版 Go 构建 Web 应用 Go 学习笔记:无痕 Go 标准库中文文档 Golang开发新手常犯的50个错误 50 Shades of Go: Traps, Gotc ...

最新文章

  1. 简述configure、pkg-config、pkg_config_path三者的关系
  2. 图像边缘检测技术与理论发展脉络梳理大放送
  3. QML中的定位器和布局
  4. 小腿训练三部曲(二)
  5. figma下载_Figma的自动版式实用
  6. 学习手记(2020/8/19~2021/3/19)
  7. java输入正确的信息_判断用户输入的信息是否正确
  8. pycharm python 模板配置_pycharm设置python脚本模板
  9. python 执行shell_python执行shell命令的方法
  10. skipfish 主动扫描web安全评估工具
  11. python-函数-默认值传参
  12. Python: 装饰器的小例子
  13. IT永远也不可能做到整体外包,这句话是我说的。。。
  14. 转行学AI,如何选择适合的方向
  15. PostgreSQL中UUID的完整指南
  16. GridView冻结列的实现
  17. PTA 数据结构题集
  18. 微信开发者工具的使用和各个文件的作用
  19. 无线网和网吧服务器,网吧也无线?网吧无线网解决方案
  20. 自动定量包装机机械及控制系统设计(PLC控制)

热门文章

  1. IOTServiceSetup工具下载安装
  2. Excel上传到服务器,并下载返回
  3. 没有经过微软认证的驱动怎么安装?
  4. 剑与轮回辅助升级脚本工具 职业选择推荐
  5. Liunx 虚拟机Ubuntu更换内核版本以及更换内核后,碰到Memtest86
  6. d610网络计算机,智享手机电脑双模数据传输:CamFi 卡菲全能版 WIFI 传输器
  7. Linux fciv 生成md5,cmd下md5值计算命令
  8. shopex各文件路径
  9. Qt QWindowsBackingStore::flush: GetDC failed (句柄无效)
  10. 基于Ziegler-Nlichols方法的参数整定与PID仿真