Airtest使用参考博文: https://testerhome.com/topics/12391

1. 安装Python 3

2. 安装pip: 安装方法参考另外一篇随笔

pip3部署:

C:\Users\cmd>python2 -m pip install --upgrade pip

#检查pip3 python3已安装库 C:\Users\cmd>pip3 list

#检查pip3 有什么库需要升级 C:\Users\cmd>pip3 list -o

升级该库  C:\Users\cmd>pip3 install --upgrade setuptools

虚拟Python virtualenv环境部署

C:\Users\cmd>pip3 install virtualenv

安装Airtest提供的Android App UI测试库pocoui

通过pip 命令 pip install pocoui 安装poco库,这个过程等待的时间会比较长一点:

C: \Users\wb-liuying.ae>pip install pocoui

#检查都依赖安装了哪些 pip list

官网下载Airtest Project,下载之后解压就可以直接使用

http://airtest.netease.com/

手机连上电脑,手机的开发者模式开关打开,还要打开“允许通过USB调试修改权限或模拟点击”的开关

Airtest右边的设备窗模块点击刷新ADB,然后右上角点击connect连接手机,

手机连接上后Airtest会下发一些安装,点击允许

PocoService 
com.netease.open.pocoservice.test
Yosemite(与输入法相关)

安装好了之后,鼠标点击屏幕应该是可以直接操作了

可以通过AirtestIDE提供的辅助模块录制脚本,也可以自己编写。

左边的poco辅助窗,可以用来定位元素,选中锁定按钮,鼠标点击你需要定位的元素,就是看到这个元素的信息

下面是我自己编写的测试的脚本,试了两台手机可以正常跑。

# -*- encoding=utf8 -*-
__author__ = "wb-liuying.ae"
__title__ = "test script title"
__desc__ = """
this is a test script.
"""
from airtest.core.api import *
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(force_restart=False)
# start your script here clear_app("com.taobao.idlefish")
sleep(1.0)
start_app("com.taobao.idlefish")
sleep(10.0)
if poco("com.taobao.idlefish:id/pic"):
poco("com.taobao.idlefish:id/action_bar_right").click()
poco("com.taobao.idlefish:id/bar_text").long_click()
poco(text="预发").click()
start_app("com.taobao.idlefish")
sleep(10.0) while poco("android.widget.FrameLayout").child("android:id/content").child("android.widget.RelativeLayout").child("com.android.packageinstaller:id/dialog_container").child("android.widget.LinearLayout"):
poco("com.android.packageinstaller:id/permission_allow_button").click()
sleep(3.0)
items = poco("android.widget.LinearLayout").child("android:id/content").child("com.taobao.idlefish:id/main_content_layout").child("com.taobao.idlefish:id/id_indicator").child("android.widget.RelativeLayout").child("com.taobao.idlefish:id/indicator_itmes").child("android.widget.RelativeLayout").child("com.taobao.idlefish:id/tab").child("android.widget.LinearLayout").child("com.taobao.idlefish:id/tab_icon")
items[3].click()
poco("com.taobao.idlefish:id/login_button").click()
poco("com.taobao.idlefish:id/ali_user_guide_account_login_btn").click()
poco("com.taobao.idlefish:id/accountCompleteTextView").click()
text("aq申诉测试8")
poco("com.taobao.idlefish:id/content").click()
text('wb-liuying.ae|Dream123!')
poco("com.taobao.idlefish:id/loginButton").click()
items1 = poco("android.widget.LinearLayout").child("android:id/content").child("com.taobao.idlefish:id/main_content_layout").child("com.taobao.idlefish:id/id_indicator").child("android.widget.RelativeLayout").child("com.taobao.idlefish:id/indicator_itmes").child("android.widget.RelativeLayout").child("com.taobao.idlefish:id/tab").child("android.widget.LinearLayout").child("com.taobao.idlefish:id/tab_icon")
items1[2].click()
poco("com.taobao.idlefish:id/vmmsi_title").click()
items = poco("android.widget.LinearLayout").child("android:id/content").child("android.widget.LinearLayout").child("com.taobao.idlefish:id/ansm_list").child("android.widget.FrameLayout").child("android.widget.LinearLayout").child("com.taobao.idlefish:id/stub").child("com.taobao.idlefish:id/imageCard").child("com.taobao.idlefish:id/tv_title")
items[1].click()
sleep(10.0)
snapshot(msg="页面显示正确")
poco("com.taobao.idlefish:id/left_image").click()
sleep(1.0)
items = poco("android.widget.LinearLayout").child("android:id/content").child("android.widget.LinearLayout").child("com.taobao.idlefish:id/ansm_list").child("android.widget.FrameLayout").child("android.widget.LinearLayout").child("com.taobao.idlefish:id/stub").child("com.taobao.idlefish:id/imageCard").child("com.taobao.idlefish:id/tv_title")
items[3].click()
sleep(10)
snapshot(msg="页面显示正常")
clear_app("com.taobao.idlefish") 脚本运行之后可以查看自动生成的报告


使用感受:非常的好用,快捷方便。容易上手。
遇到的问题:
试了几台手机,有的能连接并且能操作,有几台不行。所有组件都安装了还是不能操作,不知道什么原因。 参考的链接:
官方文档 http://airtest.netease.com/
Airtest的框架和使用: https://github.com/AirtestProject/airtest
poco的框架和使用: https://github.com/AirtestProject/poco

Airtest Project的探索和使用的更多相关文章

  1. 关于Airtest的使用探索

    一.Airtest的简介   Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具.Airtest的框架是网易团队自己开发的一个图像识别框架,这个框架的祖宗就是一种新颖 ...

  2. 一种新的自动化 UI 测试解决方案 Airtest Project

    今天分享一个自动化UI测试工具airtest——一款网易出品的基于图像识别面向游UI测试的工具,也支持原生Android App基于元素识别的UI自动化测试.主要包含了三部分:Airtest IDE. ...

  3. Airtest基本使用

    前段时间在博客中见到airtest的介绍,自己并实践了一番,用起来的确很方便,所以今天就来分享下. Airtest简介 Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试 ...

  4. Airtest 网易 UI 自动化工具 Airtest 浅用记录

    一 使用目的 该工具主要是面向游戏UI测试基于图像识别,如游戏框架unity,Cocos-js以及网易内部的游戏框架同时也支持原生Android App 的基于元素识别的UI自动化测试.本文主要使用目 ...

  5. 网易 UI 自动化工具 Airtest 浅用记录

    一 使用目的 该工具主要是面向游戏UI测试基于图像识别,如游戏框架unity,Cocos-js以及网易内部的游戏框架 同时也支持原生Android App 的基于元素识别的UI自动化测试. 本文主要使 ...

  6. Airtest之web自动化(一)

    Airtest之web自动化(一) [此文档有许多涉及到gif动图的地方,请全屏观看]   了解Airtest: 简介: Airtest是由网易团队开发的一款自动化框架,前期运用与游戏测试(通过截图识 ...

  7. Airtest网易开源的一款UI自动化测试工具

    Airtest网易开源的一款UI自动化测试工具 1 Airtest 简介Airtest Project是网易游戏内部工具团队开发并开源的一款UI自动化测试工具,据说曾经获得谷歌力挺. AirtestI ...

  8. Airtest,Poco,Unity自动化测试集成

    作为一个Game Developer,测试部分是必不可少,程序完成需求首先要进行S0相关的测试,这样确保交付到策划验收和QA验收时是没有阻断性的bug或者显而易见代码缺陷.那么如何去做测试用例呢?肯定 ...

  9. [ZZ] [精彩盘点] TesterHome 社区 2018年 度精华帖

    原文地址: https://testerhome.com/topics/17646 相逢即是缘分,总有一篇适合您! 感觉好的请点赞收藏 ,感觉分类不严谨的,欢迎反馈给我! 测试方法&测试管理 ...

随机推荐

  1. spring boot 集成 quartz 定时任务

    spring boot: @EnableScheduling开启计划任务支持,@Scheduled计划任务声明 1.pom.xml 引入依赖 <dependency> <groupI ...

  2. window.location.replace()与window.location.href()区别

    有3个页面 a,b,c 如果当前页面是c页面,并且c页面是这样跳转过来的:a->b->c 1:b->c 是通过window.location.replace("..xx/c ...

  3. C Runtime Library、C  Runtime

    C Runtime Library.C Runtime   1)运行时库就是 C run-time library,是 C 而非 C++ 语言世界的概念:取这个名字就是因为你的 C 程序运行时需要这些 ...

  4. shell怎么判断两个文件内容是否相同

    #cat diff_two_file#/bin/sbinfile1=/mnt/mmc/test/aafile2=/mnt/mmc/test/bbdiff $file1 $file2 > /dev ...

  5. apache rewrite 规则

    啥是虚拟主机呢?就是说把你自己的本地的开发的机子变成一个虚拟域名,比如:你在开发pptv下面的一个项目 127.0.0.1/pptv_trunk,你想把自己的机器域名变成www.pptv.com.那么 ...

  6. 爬虫系列5:scrapy动态页面爬取的另一种思路

    前面有篇文章给出了爬取动态页面的一种思路,即应用Selenium+Firefox(参考<scrapy动态页面爬取>).但是selenium需要运行本地浏览器,比较耗时,不太适合大规模网页抓 ...

  7. mysqli扩展库的预处理

    预处理的特点:1.效率高,执行速度快 2.安全性高,可以防止sql注入 $mysqli  中的函数 $stmt=$mysqli->prepare($sql);             预备一条s ...

  8. SQL注入之Sqli-labs系列第二十关(基于头部的cookie POST报错注入)

    开始挑战第十八关(Cookie Injection-Error Based- string) 前言: 通常开发人员在开发过程中会特别注意到防止恶意用户进行恶意的注入操作,因此会对传入的参数进行适当的过 ...

  9. Spring Boot 揭秘与实战(七) 实用技术篇 - FreeMarker 模板引擎

    文章目录 1. FreeMaker 代替 JSP 作为页面渲染 2. 生成静态文件 3. 扩展阅读 4. 源代码 Spring Boot 提供了很多模板引擎的支持,例如 FreeMarker.Thym ...

  10. EPOCH, BATCH, INTERATION

    CIFAR10 数据集有 50000 张训练图片,10000 张测试图片.现在选择 Batch Size = 256 对模型进行训练. 每个 Epoch 要训练的图片数量:  训练集具有的 Batch ...