Airtest&poco学习历程1


一、设备连接

详情参考网易airtest官网教程

以下为网页原文:

模拟器连接:以网易的mumu模拟器为例

https://airtest.doc.io.netease.com/IDEdocs/device_connection/3_emulator_connection/

真机连接:

2.1 Android真机连接 - Airtest Project Docs

1. Android模拟器连接

如果我们手边没有可用的Android真机,又想进行Android应用自动化测试,这时候就要使用AirtestIDE的Android模拟器自动化测试功能了。

AirtestIDE所支持的模拟器包括 Android Virtual Device(AVD) 和市面上常见模拟器(如 Mumu模拟器 )。

模拟器可以像真机一样连接到AirtestIDE中,如果画面显示为黑屏,请在连接模拟器之前,勾选connect按钮下拉菜单里的 Use javacap 选项,然后再点击connect按钮进行连接。如果依然连接失败,可以尝试再勾选 use adb orientation 后连接。

这里以某个模拟器为例, 展示一下模拟器的连接流程:

  • 首先,与手机类似,需要打开模拟器的 开发者选项-允许USB调试 。部分模拟器可能需要找到 设置-关于手机 点击多次后才能打开开发者选项:

  • 打开AirtestIDE设备窗内的 远程设备连接 ,输入 adb connect 127.0.0.1:7555 后(该端口号与模拟器品牌相关,见 2. 模拟器连接端口汇总 ),点击 连接 按钮

  • 设备列表中可见 127.0.0.1:7555 设备,先点击Connect按钮旁的下拉菜单,勾选Javacap模式后,再点击 Conenct 按钮(如果没有勾选Javacap模式,会导致看到的手机画面是黑屏)。如果还是未能连接成功,可以补充勾选 use adb orientation 再连。

  • 完成连接:

2. 模拟器连接端口汇总

主流模拟器的设备连接代码如下:

模拟器 adb连接代码
网易Mumu adb connect 127.0.0.1:7555
夜神 adb connect 127.0.0.1:62001
逍遥 adb connect 127.0.0.1:21503
iTools adb connect 127.0.0.1:54001
天天 adb connect 127.0.0.1:6555
海马玩 adb connect 127.0.0.1:26744
BlueStacks adb connect 127.0.0.1:5555

这些模拟器的连接过程均可参考上文中 1. 模拟器连接 的描述进行连接。

3. 利用脚本命令连接设备

在命令行传入模拟器设备参数

如果在命令行运行脚本时,连接的是模拟器设备,有一点需要注意,因为我们在连接时勾选了Use javacapUse ADB orientation这俩个选项,所以在命令行连接设备的时候,也需要把这俩个参数附加在设备字符串后面:

airtest run D:/test/moniqi_test.air --device Android://127.0.0.1:5037/127.0.0.1:62001?cap_method=JAVACAP^&^&ori_method=ADBORI --log E:/log_test
  1. 模拟器设备字符串的定义为:
Android://<adbhost[localhost]>:<adbport[5037]>/模拟器端口号

其中,adbhostadb server所在主机的ip,默认是本机127.0.0.1adb port默认是5037。 2. 设备字符串后面跟了多个参数,需要用&&来连接,但是&这个字符需要转义才能够生效: Windows下改写成^&^&,MAC下改写成/&/&

在脚本编写模拟器的connect_device语句

如果不想在命令行中传入设备参数,我们也可以在脚本内编写connect_device语句来连接模拟器设备:

# -*- encoding=utf8 -*-
__author__ = "xiaoming"from airtest.core.api import *dev = connect_device("Android://127.0.0.1:5037/127.0.0.1:62001?cap_method=JAVACAP^&^&ori_method=ADBORI")auto_setup(__file__)

这样在命令行运行脚本时,就不用添加连接模拟器设备的参数了。

在纯.py脚本传入模拟器设备参数

如果我们使用纯.py脚本,在设备初始化时,也需要传入相应的模拟器设备参数:

# -*- encoding=utf8 -*-
__author__ = "xiaoming"from airtest.core.api import *
from airtest.cli.parser import cli_setupif not cli_setup():auto_setup(__file__, logdir=True, devices=["Android://127.0.0.1:5037/127.0.0.1:62001?cap_method=JAVACAP^&^&ori_method=ADBORI",])

4. 无法连接设备的异常情况

点connect时发现无法连接设备,且Log查看窗里有报错

此时可能是同时运行了多个adb.exe,打开任务管理器,关闭所有adb.exe

再次点击connect即可连接成功

5. 真机连接

使用AirtestIDE对Android应用进行自动化测试时,第一步就需要连接Android设备。

Android真机连接准备:

  • 请先安装手机对应品牌的官方驱动,确保能使用电脑对手机进行USB调试
  • 确保已经打开了手机中的"开发者选项",并且打开"开发者选项"内的"允许USB调试"
  • 部分手机需要打开"允许模拟位置"、"允许通过USB安装应用"
  • 关闭电脑上已经安装的手机助手软件,能避免绝大多数问题,请务必在任务管理器中手工结束手机助手进程

Android真机USB连接

  • 请使用USB线连接手机,手机上出现的 允许USB调试 弹窗点击确定
  • 点击连接面板中的 refresh ADB 按钮,设备列表将会刷新,
  • 点击列表内对应设备的 Connect 完成连接,
  • 若设备未刷出,点击 refresh ADB 按钮.

如果遇到连接问题,请查阅 Android连接常见问题。

Airtestpoco学习历程1——设备连接相关推荐

  1. 《STM32从零开始学习历程》——CAN通讯协议协议层

    <STM32从零开始学习历程>@EnzoReventon CAN通讯协议协议层 相关链接: <STM32从零开始学习历程>--CAN通讯协议物理层 CAN-bus规范 V2.0 ...

  2. 《STM32从零开始学习历程》——USART串口通讯实验篇1——中断接收与发送

    <STM32从零开始学习历程>@EnzoReventon USART串口通讯实验篇1--中断接收与发送 最近开始接触了STM32F4xx系列单片机,对于我这个从零开始学习的小白来说,可谓困 ...

  3. 《STM32从零开始学习历程》——I2C向EEPROM写入一字节数据(I2C硬件)

    <STM32从零开始学习历程>@EnzoReventon I2C向EEPROM写入一字节数据(I2C硬件) 相关链接: I2C物理层介绍 I2C协议层介绍 I2C固件库介绍 STM32的I ...

  4. 《STM32从零开始学习历程》——DMA直接存储区访问实验例程

    <STM32从零开始学习历程>@EnzoReventon DMA-直接存储区访问实验例程 本章节为DMA直接存储区访问的实验例程讲解,以"正点原子"的例程为基础进行讲解 ...

  5. 《STM32从零开始学习历程》——USART串口通讯实验篇2——指令控制LED灯实验

    <STM32从零开始学习历程>@EnzoReventon USART串口通讯实验篇2--指令控制LED灯实验 本实验是在<USART串口通讯实验篇1--中断接收与发送>的基础上 ...

  6. asp.net2.0学习历程 菜鸟到中级程序员的飞跃【月儿原创】

    asp.net2.0学习历程 菜鸟到中级程序员的飞跃 --30本好书点评 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/           时间:2007.5.1 ...

  7. asp.net2.0学习历程 菜鸟到中级程序员的飞跃[z转]

    asp.net2.0学习历程 菜鸟到中级程序员的飞跃 --30本好书点评 学历历程 如果你是一个菜鸟或者自认为初学者那么本文非常适合你: 不能说这30本书就是最佳组合,但是可以说这个组合不差: 本人曾 ...

  8. Arduino小白的学习历程

    Arduino小白的学习历程 例7 温度报警器 作为一名刚接触Arduino的小白,觉得温度报警器这个东西特别新鲜,先把它的效果描述一下: 效果一:打开串口监视器(至于怎么理解串口监视器,我来说说自己 ...

  9. 【开发历程】STM32F4之SHT31-DIS温湿度传感器完整学习历程(附模块化程序代码,带详细注释)

    前言 本人萌新一枚,学习了STM32之后想自己调点什么练练手,于是打开淘宝.本来想买一块DHT11,翻着翻着就发现了这块小板.本着调就调没调过的原则,从店家购买了SHT31模块.买了后才发现,网上相关 ...

最新文章

  1. java 类的合成_Java设计模式-合成模式
  2. 光流数据集FlyingChairs下载连接
  3. wpf 依赖属性和附加属性
  4. 理解Java枚举类型
  5. Linux监控服务命令
  6. 物联网软件IoT.js、JerryScript、Smart.js、Calvin介绍
  7. AI落地谁最强?AI Top 30+案例评选等你来秀
  8. C程序范例(2)——学生管理系统”链表“实现
  9. echarts java动态数据_[ASP.net教程]ECharts Java 动态加载数据,echartsjava
  10. Jenkins 2.x版本的节点配置选项更新
  11. 不要小看它——编码与解码
  12. Python新手学习基础之条件语句——elif语句
  13. 偏微分方程数值解程序设计与实现——数学基础
  14. 企业微信双开及三开的方法
  15. 解决阿里云不能使用yum问题
  16. angular8.x + ngx-translate实现国际化
  17. 怎么看曲线有没有斜渐近线_怎样判断一个曲线有无斜渐近线
  18. 最新蓝奏云软件库系统源码分享下载+非WebView
  19. linux c 语言uint32 t,Linux中uint16_t
  20. 511遇见易语言注册调用乐玩插件类模块封装

热门文章

  1. 雷达的主要技术指标、应用与分类和雷达对抗
  2. 多传感器融合定位(二)——基于地图的定位
  3. 破解滑块(极验)验证码思路分享
  4. 修正逆解文章——六轴UR机械臂正逆运动学求解_MATLAB代码(标准DH参数表)
  5. 搭建mongodb分布式集群(分片集群+keyfile安全认证以及用户权限)
  6. 作为硕士生/博士生导师招收的第一个学生是一种怎样的体验?| 文末送书
  7. 电商女装评论数据集分析
  8. linux驱动 设备驱动模型
  9. 最新综述:深度学习图像三维重建最新方法及未来趋势
  10. 苹果mac电脑怎么设置默认浏览器