airtestIDE连接模拟器及常见问题

摘要:
首先,您需要打开模拟器的开发者选项-允许USB调试。重新启动adb服务adb-kill-serveradb-start服务器,然后将其连接回机场IDE。您可以看到模拟器设备(注意前面的“仿真器-5554”是模拟器的设备ID)。单击连接后,我输入上面的MUMU连接命令以使用端口7555。记住为每个模拟器打开USB调试。

建议没有用真机连接过的先看看AirtestIDE连接安卓真机及常见问题,有些问题是一样的。

以下基于
python3.7;airtest1.1.8;pocoui1.0.81;airtestIDE1.2.8

连接模拟器

airtestIDE支持Android Virtual Device(AVD)和常见模拟器,AVD因为性能太烂,强烈不推荐。

其实模拟器的连接基本上和真机差不多,首先你得打开模拟器的开发者选项-允许USB调试,具体方法去模拟器官网查询。

打开airtestIDE,在设备窗中点选'远程设备连接',我用的是MUMU模拟器,输入连接命令adb connect 127.0.0.1:7555,并点'连接''。

airtestIDE连接模拟器及常见问题第1张

点击后发现没反应,去CMD中输入adb devices,可以看到有模拟器设备,但处于offline状态。

airtestIDE连接模拟器及常见问题第2张

这可能是adb冲突导致,重启下adb服务

adb kill-server
adb start-server

 airtestIDE连接模拟器及常见问题第3张

再回airtestIDE里连接,已经可以看到模拟器设备了(注意前面的'emulator-5554'就是模拟器的device id)

图片airtestIDE连接模拟器及常见问题第5张

点击连接后,就接入模拟器了。

airtestIDE连接模拟器及常见问题第6张

 和真机一样,如果连接不成功,可以试试选中一些连接参数,首先勾选'Javacap模式'尝试,如果不行再选中'use adb orientation'尝试。

airtestIDE连接模拟器及常见问题第7张

图片

上面我输入MUMU的连接命令用到的端口是7555,每家模拟器的端口是不一样的:

模拟器    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

建议使用MUMU,毕竟都是网易家的,后面会转发一篇模拟器对比的文章,大家可以看下各模拟器对airtest的契合度。

模拟器多开时连接airtest

以夜神为例,假如用了模拟器的多开,怎么连接呢?
先在cmd中输入adb devices,结果如下:

 airtestIDE连接模拟器及常见问题第9张

图片

127.0.0.1:62001整体都是其中一个模拟器的divece id,其中62001是夜神默认的1个端口号,62025是多开的那个模拟器的端口号。
之后的连接方法同上,记得每个模拟器都要打开USB调试

模拟器连接常见问题
  • adb冲突。使用前最好将模拟器自带的adb换成airtest中的adb。

        airtest的adb文件所在路径如下:

airtestIDE连接模拟器及常见问题第11张

图片
        夜神模拟器的adb文件所在路径如下:

airtestIDE连接模拟器及常见问题第13张

图片

        需要注意的是夜神文件夹下除了有一个adb.exe外,还有个nox_adb.exe。我们除了要替换神的adb.exe,还要用airtest的adb复制一份改名为nox_adb.exe进行替换。其他模拟器同理。

    • 如果看不到设备或设备离线,需要重启adb

    • 如果连接不成功,可以试试选中一些连接参数,首先勾选'Javacap模式'尝试,如果不行再选中'use adb orientation'尝试。

    • 如果连接后无法点击投屏,重启连接并选中参数‘use ADBtouch’

    • 部分品牌模拟器(例如夜神),可能因为默认使用键盘输入,因此无法调用yosemite输入法,导致 text() 接口无法输入文字。可以先确认模拟器设置中,硬件-物理键盘 是否被勾选了, 取消勾选后再重新尝试即可:

      airtestIDE连接模拟器及常见问题第15张

      如果依然失败(物理键盘选项被不断自动重置),可以打开右上角的模拟器设置,勾选软键盘选项后重试:
      airtestIDE连接模拟器及常见问题第16张

      如果依然无法输入,可以使用airtest封装的adb命令输入文字:
      shell("input text 'hello world'")

    • yosemite.apk 未安装也容易导致模拟器连接失败,一般会出现如下的报错;请检查模拟器上是否成功自动安装了 yosemite.apk,如果没有安装的话,检查开发者选项中是否默认阻止了通过USB安装应用,应该选择允许,然后在连接时IDE会自动向模拟器中安装该apk 如果还是装不上,可以在IDE目录下搜索一下这个apk文件,手工安装到模拟器中(yosemite.apk自行在airtestIDE文件夹中搜索):

      airtestIDE连接模拟器及常见问题第17张

---------------------------------------------------------------------------------

关注微信公众号即可在手机上查阅,并可接收更多测试分享~

airtestIDE连接模拟器及常见问题第18张

免责声明:文章转载自《airtestIDE连接模拟器及常见问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇windows server中opencv运行过程中MF.dll/MFReadWrite.dll/MFPlat.DLL文件丢失问题解决Filebeat命令参考下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

UniGui的信息弹出框MessageDlg自定义标题的方法(使用JS动态本地化文本)

UniGui的信息弹出框MessageDlg的原型定义如下: procedure MessageDlg(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; CallBack: TUniDialogCallBackAnonProc); DlgType(对话框架的类型)1、mtC...

Python socket编程之三:模拟数据库循环发布数据

1. f1.py # -*- coding: utf-8 -*- import socket import struct import sqlalchemy import pandas ######################################################################## class sckt:...

python将文本转化成语音并播放

一、问题 在学习的过程中,我们会涉及到将文本信息,转化成语音的过程,比如:我爬取了一个小说的网站,我要将里面的内容进行语音处理。目前能够进行语音的方法还是很多,比如win32com,百度ai。 二、解决 1.这里介绍如何使用百度ai的方法,首先在http://ai.baidu.com/?track=cp:aipinzhuan|pf:pc|pp:AIping...

mysql主从复制、redis基础、持久化和主从复制

一、mysql(mariadb)基础 1、基础命令(centos7操作系统下) 1.启动mysql systemctl start mariadb 2.linux客户端连接自己 mysql -uroot -p -h 127.0.0.1 -u 用户 -p 密码验证 -h 连接的主机地址 3.远程链接mysql服务端 mysql...

C#数据库连接池 [转]

using System.Data.SqlClient;using System.Collections;/// <summary>/// ConnectionPool 的摘要说明/// </summary>public class ConnectionPool{    private static ConnectionPool...

frida初体验

一、Frida安装 pip install frida pip install frida-tools cmd 输入python ,进入python继续输入 import frida如果什么都没显示,应该是安装好了。 二、adb安装 https://www.cnblogs.com/clbao/p/13330858.html 三、移动端安装 1.寻找对应的下...