Loading

airtest+pytest实战教程01-环境配置

前言

airtest是一款跨平台的UI自动化编辑器,主要为游戏而设计,但同时也可以适用于移动端的自动化测试。

airtest里面有两大体系,airtest和pocoui支撑着整个测试框架。

  • airtest
    • 主要通过图像对比然后在界面上进行点击和识别的操作。
  • pocoui
    • 该模块功能很强大,与uiautomator2有异曲同工之妙。

下载安装

进入官网下载安装

点击下载即可。

image.png

下载完成后是一个压缩包。

解压到一个文件夹中,比如我就是在D盘根目录进行解压的。解压后打开文件夹。

找到AirtestIDE.exe双击打开。

QQ截图20200620124721.png

打开后会弹出登录界面,点击skip跳过。

QQ截图20200620124541.png

我们就进入到了主界面。

QQ截图20200620124635.png

入门教程

这里我就不介绍了,官方教程里有一个5分钟入门,可以打开看一看。

https://airtest.doc.io.netease.com/tutorial/1_quick_start_guide/

airtest也是需要编写脚本的,使用的语言是python。

所以在学习这个工具的时候也需要一定的python基础。

airtest同时支持2和3,推荐使用python3。

搭建环境

airtestIDE安装好了,现在我们应该准备其他的环境。如adb,安卓设备环境。

ADB环境搭建

QQ截图20200620125036.png

  • 配置环境变量。

QQ截图20200620125057.png

  • 验证adb安装

    QQ截图20200620125119.png

mumu模拟器

下载安装网易mumu模拟器


由于没有多余的安卓手机,自己也只有一个主力机。所以我只能考虑用模拟器进行本系列的教程。

百般挑选之后我选择了网易的mumu模拟器。主要原因是它和airtestIDE同属网易开发的,天然亲近。

下载地址:http://mumu.163.com/

配置ADB

因为网易mumu是模拟器所以我们需要设置一下adb。

教程:http://mumu.163.com/2017/12/19/25241_730476.html

启动链接

启动airtest,启动mumu模拟器

  • 在airtestIDE中可以看到箭头1所指的区域,没有出来设备
    QQ截图20200620125141.png

  • 所以我们选择箭头2所指的选项,点击远程设备链接,点击连接

QQ截图20200620125207.png

  • 这时可以看到设备出来了。

QQ截图20200620125228.png

  • 点击connect右键的箭头,选择USE javacap,然后点击connect

    此时airtest和mumu模拟器的链接就大功告成了。

QQ截图20200620125250.png

配置说明

至于为什么要选择javacap和安卓设备的链接问题,请移步官方提供的文档:

http://airtest.netease.com/docs/cn/2_device_connection/3_emulator_connection.html

获取APP包名

pycharm中已经成功链接了mumu模拟器,并打印出了设备的相关信息.

接下来我们就要获取APP的包名,先看我们准备用那个app作为教程中所使用的app呢。

我在这里选择的是智学网app进行测试,在mumu模拟器的应用市场就可以下载到。

QQ截图20200620161419.png

接下来我们要获取应用的包名,获取包名我常用的有两种方法。

adb命令行获取包名

首先我们先查看一下mumu模拟器的版本。进入设置—关于里面。

QQ截图20200620130702.png

是安卓6.0.1版本的。

  • MacOS系统

    • 安卓8.0以下
    adb shell dumpsys activity activities | grep mFocusedActivity
    
    • 安卓8.0以上
    adb shell dumpsys activity activities | grep mResumedActivity
    
  • Windows系统

    • 安卓8.0以下
    adb shell dumpsys activity activities | findstr mFocusedActivity
    
    • 安卓8.0以上
    adb shell dumpsys activity activities | findstr mResumedActivity
    

我们在mumu模拟器中运行智学网app,然后打开cmd。输入Windows安卓8.0以下的命令。

注意:如果遇到报错

error: no devices/emulators found

我们先在cmd中执行一下命令: adb connect 127.0.0.1:7555

然后再进行获取包名的命令就可以了。

QQ截图20200620164201.png

airtest获取包名

那么在脚本中我们应该怎样获取包名呢,airtest已经为我们内置了一个获取包名的方法:

首先我们导入airtest包中的Android模块。

然后使用模块的get_top_activity()获取并打印出顶层的安卓活动。

运行脚本:请看图片中箭头所指部分。

QQ截图20200620163948.png

可以看到打印结果的包名和活动名是不是和adb命令行获取的一样。

在airtest在获取包名很简单吧,当然ADB命令行获取也更方便,不用导入脚本。

自己想使用那种方式安卓应用包名都可以。

进行到这里我们的airtest测试环境就配置好了。

posted @ 2020-05-21 00:15  随风挥手  阅读(2741)  评论(0编辑  收藏  举报
群1
299524235(满)
群2
362812191