草庐IT

手把手教你用AirtestIDE无线连接手机

测试界的飘柔 2023-04-12 原文

1. 前言

一直以来,我们发现同学们都挺喜欢用无线的方式连接手机,正好安卓11出了个无线连接的新姿势,我们今天就一起来看看,如何用AirtestIDE无线连接你的Android设备~

2. Android11以下的无线连接方式

当 手机与电脑处在同一个wifi 下,即可尝试无线连接手机了,但是这种方式受限于网络连接的稳定性,可能会出现连接不够稳定的情况。

对于Android11以下的设备,具体连接操作步骤如下:

1)手机开启USB调试

确保手机开启了USB调试选项,并先 用USB线将手机和电脑连接起来(这里画个重点,很多同学会忽视掉这一步!)

2)电脑端执行adb tcpip 5555

在电脑端执行命令 adb tcpip 5555 ,其中 5555 是端口号,可以根据自己的需求来指定,5555是默认值。

如果你在执行 adb tcpip 5555 的时候,发现报错 error: no devices/emulators found ,大概率就是,你没有打开手机的USB调试功能,请回到第一步再仔细阅读并操作一遍。

3)获取手机IP地址

获取手机的IP地址,可以在 手机设置-关于手机-状态信息-IP地址 里找到:

4)IDE输入连接字符串

随后 可以拔掉USB线 (到这一步,就可以拔掉USB线啦!) ,在AirtestIDE的 远程设备连接 处输入 adb connect 手机ip:刚才填入的端口号5555 ,例如 adb connect 10.228.36.xx:5555 ,点击连接,刷新ADB后就能在设备列表中看到连上的设备了:

5)连接断开可重试

如果因为网络波动、重启ADB等原因导致连接断开,重新执行一次 adb connect ip:port 即可。

6)特别注意

Android11以下的设备,使用无线连接,一开始还是需要用USB线连接手机和电脑,指定端口、查询IP之后,才可以拔掉USB线!!!

3. Android11的无线连接方式

开篇的时候我们有提到,Android11无线连接有了新的姿势!就是 全程不需要连USB线 了,非常快乐,就像蓝牙配对那么方便。

接下来我们就详细讲述下,AirtestIDE是如何无线连接Android11的设备吧!

1)确保电脑里的ADB是41版本

亲测,如果要使用新姿势来无线连Android11的设备,adb40已经不能满足我们的需求了,所以还是先老老实实把电脑里面的adb版本升级成41吧。

我们可以用 adb --version 来查看电脑里面的ADB版本情况:

2)手机开启USB调试

在你的Android11设备上,开启 USB调试 选项。

3)启用无线调试选项

找到USB调试下面的 无线调试 选项,点击右侧的开启按钮:

4)使用配对码配对设备

然后点击 无线调试 (有点神奇的交互,但是就是这么进入下一级菜单的。。。),再点击 使用配对码配对设备 ,可以看到与设备配对的WLAN配对码和IP地址、端口啥的:

此时就可以打开我们电脑上的终端,输入匹配命令,开始跟我们的手机设备进行匹配了:

adb pair 10.228.57.xx:port

成功匹配之后,我们还可以从手机的已配对设备上看到我们的PC设备信息:

5)查询设备IP

仍然在无线调试界面下,就能查询到我们设备的IP和端口:

6)adb connect无线设备

在PC的终端里使用 adb connect ip:port 连接这台设备:

7)IDE连接

在IDE里连接Android11的无线设备,方式与上述设备一样,只是有一点我们需要注意,刚才我们是使用adb41来进行设备配对和 adb connect 的,所以 需要把IDE里面的ADB也替换成统一的41版本 (目前IDE用的都是40版本,我们后续也会升级成41版本),如果不替换版本,则会因为adb版本不统一,产生冲突无法连接上Android11的无线设备:

tips:如何把IDE里面的adb替换成41版本

在安卓开发的官方平台上,找到SDK平台工具:https://developer.android.com/studio/releases/platform-tools?hl=zh-cn ,下载最新的Android SDK 工具,解压之后,找到里面的adb工具:

把ADB的3个文件复制出来,并且到IDE的相应目录下,替换掉原有的40版本:

4. 纯Airtest脚本连接无线设备

IDE连接无线设备的方式我们已经详细过一遍了,这里再补充下,纯Airtest脚本的方式来连接无线设备:

# 方式一
auto_setup(__file__, devices=["Android://127.0.0.1:5037/ip:port"])

# 方式二
connect_device("Android://127.0.0.1:5037/ip:port")

# 方式三
init_device(platform="Android",uuid="ip:port")

# 其中,ip:port,即无线设备的ip地址和端口号

5. 小结

今天的推文主要讲解了以下内容:

  • Android11以下设备的无线连接方式
  • Android11及以上设备的无线连接方式
  • 如何把IDE里40版本的ADB替换成41版本
  • 纯Airtest脚本方式连接无线设备

其实对于Android11以下的设备,和Android11以上的设备来说,无线连接方式最大的优化在于,Android11及以上设备不需要再连接数据线来做无线连接的准备工作了,而且设备配对成功之后,只要PC和手机设备处于同一个wifi下,就可以直接连接使用,不用再重新连数据线、配对之类的,非常方便!

最后: 可以在公众号:伤心的辣条 ! 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

有关手把手教你用AirtestIDE无线连接手机的更多相关文章

  1. ruby - 续集在添加关联时访问many_to_many连接表 - 2

    我正在使用Sequel构建一个愿望list系统。我有一个wishlists和itemstable和一个items_wishlists连接表(该名称是续集选择的名称)。items_wishlists表还有一个用于facebookid的额外列(因此我可以存储opengraph操作),这是一个NOTNULL列。我还有Wishlist和Item具有续集many_to_many关联的模型已建立。Wishlist类也有:selectmany_to_many关联的选项设置为select:[:items.*,:items_wishlists__facebook_action_id].有没有一种方法可以

  2. ruby - 无法在 60 秒内获得稳定的 Firefox 连接 (127.0.0.1 :7055) - 2

    我使用的是Firefox版本36.0.1和Selenium-Webdrivergem版本2.45.0。我能够创建Firefox实例,但无法使用脚本继续进行进一步的操作无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055)错误。有人能帮帮我吗? 最佳答案 我遇到了同样的问题。降级到firefoxv33后一切正常。您可以找到旧版本here 关于ruby-无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055),我们在StackOverflow上找到一个类

  3. 怎样用一台手机做自媒体? - 2

    其实做自媒体的成本并不高,入门只需要一部手机即可!在手机上找视频素材、使用手机剪辑视频、最后使用手机发布视频作品获得收益!方法并不难,今天这期内容就来给粉丝们分享一种小方法,每天稳定收益100-300,抓紧点赞收藏!1、找素材(1)使用手机拍摄自己喜欢的经典段落,使用程序把文案内容提取出来(2)也可以在豆瓣、知乎、微博等网站中找一些自己需要的文案素材(3)把文案进行润色修改,可以加入一些自己的观点(4)视频素材可以使用软件中自带的素材,也可以在素材网站中下载完整版的素材2、文案配音(1)把复制好的文案直接导入小程序中(2)调整音色、音调后一键合成音频即可(3)可以选择自己朗读配音,需要花一点时

  4. Unity 3D 制作开关门动画,旋转门制作,推拉门制作,门把手动画制作 - 2

    Unity自动旋转动画1.开门需要门把手先动,门再动2.关门需要门先动,门把手再动3.中途播放过程中不可以再次进行操作觉得太复杂?查看我的文章开关门简易进阶版效果:如果这个门可以直接打开的话,就不需要放置"门把手"如果门把手还有钥匙需要旋转,那就可以把钥匙放在门把手的"门把手",理论上是可以无限套娃的可调整参数有:角度,反向,轴向,速度运行时点击Test进行测试自己写的代码比较垃圾,命名与结构比较拉,高手轻点喷,新手有类似的需求可以拿去做参考上代码usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;u

  5. MIMO-OFDM无线通信技术及MATLAB实现(1)无线信道:传播和衰落 - 2

     MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO

  6. 神州数码无线产品(AC+AP)配置 - 2

    注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配

  7. ruby - 我的 Ruby IRC 机器人没有连接到 IRC 服务器。我究竟做错了什么? - 2

    require"socket"server="irc.rizon.net"port="6667"nick="RubyIRCBot"channel="#0x40"s=TCPSocket.open(server,port)s.print("USERTesting",0)s.print("NICK#{nick}",0)s.print("JOIN#{channel}",0)这个IRC机器人没有连接到IRC服务器,我做错了什么? 最佳答案 失败并显示此消息::irc.shakeababy.net461*USER:Notenoughparame

  8. ruby-on-rails - 连接字符串时如何在 <%=%> block 内输出 html_safe? - 2

    考虑一下:现在这些情况:#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2我需要用其他字符串输出URL。我如何保证&符号不会被转义?由于我无法控制的原因,我无法发送&。求助!把我的头发拉到这里:\编辑:为了澄清,我实际上有一个像这样的数组:@images=[{:id=>"fooid",:url=>"http://

  9. ruby - Faye WebSocket,关闭处理程序被触发后重新连接到套接字 - 2

    我有一个super简单的脚本,它几乎包含了FayeWebSocketGitHub页面上用于处理关闭连接的内容:ws=Faye::WebSocket::Client.new(url,nil,:headers=>headers)ws.on:opendo|event|p[:open]#sendpingcommand#sendtestcommand#ws.send({command:'test'}.to_json)endws.on:messagedo|event|#hereistheentrypointfordatacomingfromtheserver.pJSON.parse(event.d

  10. ruby-on-rails - 什么会导致与 APNS 的连接间歇性断开连接? - 2

    我有一个ruby​​脚本可以打开与Apple推送服务器的连接并发送所有待处理的通知。我看不出任何原因,但当Apple断开我的脚本时,我遇到了管道损坏错误。我已经编写了我的脚本来适应这种情况,但我宁愿只是找出它发生的原因,这样我就可以在第一时间避免它。它不会始终根据特定通知断开连接。它不会以特定的字节传输大小断开连接。一切似乎都是零星的。您可以在单个连接上发送的数据传输或有效负载计数是否有某些限制?看到人们的解决方案始终保持一个连接打开,我认为这不是问题所在。我看到连接在3次通知后断开,我看到它在14次通知后断开。我从未见过它能超过14点。有没有人遇到过这种类型的问题?如何处理?

随机推荐