APP测试之使用ADB可能遇到的错误及解决办法

Posted 软件测试小dao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了APP测试之使用ADB可能遇到的错误及解决办法相关的知识,希望对你有一定的参考价值。

错误一

在cmd中执行“adb ”,提示:adb不是内部或外部命令,也不是可运行的程序。

这意味着没有配置好adb环境。

解决办法:

1、如果是win10系统的环境变量配置打开path,

添加如下:

%android_HOME%\\tools;%ANDROID_HOME%\\platform-tools;

(注意要先点击新建再分别在两行创建,并且不需要分号)

2、如果是win7系统打开path,

添加如下:

%ANDROID_HOME%\\tools;%ANDROID_HOME%\\platform-tools;

(直接粘贴到path变量值后面即可)

具体可参照:速看,APP测试之ADB最全指南!进行工具下载及安装。
在这里插入图片描述
错误二

在cmd中执行“adb shell”,提示:error: device not found(没有设备信息)

意思是没有发现设备。

解决方法:

1、如果用手机设备测试,请用USB数据线与电脑连接,同时安装好手机驱动(比如91助手、豌豆荚);

2、如果采用模拟器测试,应该先启动eclipse,然后设置好模拟器,并进入模拟器测试状态,如下图所示:在这里插入图片描述
错误三

执行“adb shell”,提示:error: more than one device and emulator.

第一种情况:确实用多个设备或者模拟器
错误说明是有一个以上的设备和仿真器,这是因为启用了模拟器,同时也将手机通过USB线连接到了电脑,所以这里存在两个设备。这种情况下,需要指定连接某一个设备或者模拟器。
问题定位及解决办法:

1、获取模拟器或设备列表
命令:adb devices
效果如下图所示:在这里插入图片描述
2、指定device来执行adb shell
命令:adb -s devicename shell
在多个device的时候,执行adb命令一般都需要用参数-s指定device。
如卸载emulator-5554上的包com.soft.camera,命令如下:
adb -s emulator-5554 uninstall com.soft.camera
通过monkey测试:
adb -s emulator-5554 shell monkey -v -p com.tencent.WeChat 500

第二种情况:确实有一个设备或者模拟器
之所以显示有多个,是因为此设备用过两次,使用命令 adb devices 会看到这个设备有两种状:offline 和 device,有以下两种解决办法:
1、重启adb.exe服务
一般办法:在命令窗口输入 adb start-server 重新启动adb.exe服务;

2、终极方法,结束adb进程
如果上述方法不可以,终极方法:打开任务栏,选择“进程”选项卡,找到adb.exe进程,结束之,重新启动就OK啦(或者在命令窗口输入命令 adb kill-server )。

错误四

执行“adb devices”,显示设备:unauthorized(未授权).在这里插入图片描述
原因:是因为在安卓端,尚未允许计算机对设备进行调试。
解决办法:

1、手动点亮手机屏幕,会有相应的授权提示,在提示上,勾选“一律允许”,并点击确定即可。
如下图所示:在这里插入图片描述
2、在手机屏幕上确认之后,再次输入指令:adb devices ,即可成功连接设备,如下图所示:

在这里插入图片描述
错误五

在cmd中输入:adb -s HT21JV204550 shell monkey -v -p com.tencent.WeChat 500

,在手机上通过monkey测试出现:No activities found to run, monkey aborted.

意思是:没有找到要运行的activities,monkey中止。

解决措施:
1、通过模拟环境测试,Eclipse设置如下:在这里插入图片描述
2、通过手机测试,应该将“Target”选项卡中由原来的“Automatic”项改为“Manual”,如下图所示:在这里插入图片描述
3、然后选择“Target”选项卡的前面一个选项卡“Android”,点击下面的“Run”,执行Run后结果如下:在这里插入图片描述
4、点击OK,程序会将APK写入手机,这时就可以在cmd中输入命令:adb -s HT21JV204550 shell monkey -v -p com.tencent.WeChat 500 ,通过在真实手机环境下进行测试了。

错误六

显示:adb端口被占用.在这里插入图片描述
解决办法:
1、使用netstat -ano | findstr 5037查看5037端口对应的进程号(因为5037是adb的默认端口号);
2、taskkill /f /pid 进程号即可杀死,如下图所示,杀死PID为9516的进程:在这里插入图片描述

最后:【可能给予你一定的帮助】

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

关注我的微信公众号【软件测试小dao】免费获取~

我的学习交流群:644956177 群里有技术大牛一起交流分享~

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

以上是关于APP测试之使用ADB可能遇到的错误及解决办法的主要内容,如果未能解决你的问题,请参考以下文章

自动化测试脚本中包含adb命令,jenkins构建时找不到adb解决办法

虚拟机vmware上网可能遇到的问题及解决办法

monkey工具使用中遇到的问题之二:尝试了各种方法通过adb都无法找到设备

spark 编译遇到的错误及解决办法

支付宝 APP支付(证书)方式遇到的问题和解决办法

ruby on rails 的使用过程中,遇到的错误及解决办法