zoukankan      html  css  js  c++  java
  • APP测试之使用ADB可能遇到的错误及解决办法

    大家好,我是coco小锦鲤
    都说节后综合症
    版本提测欲断魂
    在之前我们介绍了APP测试
    But,使用ADB可能遇到很多坑
    你每出错一步
    就距离顺利完成测试
    差一条尼罗河
    以下有六条尼罗河
    你上岸还是不上岸?

    错误一

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

    这意味着没有配置好adb环境。
    解决办法:

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

    添加如下:

    %ANDROID_HOME% ools;%ANDROID_HOME%platform-tools;

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

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

    添加如下:

    %ANDROID_HOME% ools;%ANDROID_HOME%platform-tools;

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

    错误二

    在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的进程:

    在这里插入图片描述

    本文章首发于微信公众号:【ITester软件测试小栈】,欢迎大家关注,第一时间获取最新文章和资源。(包括但不限于Jmeter、Selenium、Python、数据库、Linux、网络、Github、APP测试、专项测试等)
    在这里插入图片描述

    日供一卒,功不唐捐,这不是一个非正常更新的ITester软件测试小栈,不定期分享软件测试相关,包括功能、接口、自动化、性能、专项、测试开发,简历指点,面试助攻,群而不党,和而不同,如趋同,且同行。

    Q群:701841415
    也开了微信交流群
    有兴趣的喵们
    可以私撩coco(wx:Cc2015123)把你拖进去

  • 相关阅读:
    springboot使用hibernate validator校验
    @Inherited:允许子类继承父类的注解。
    springboot跨域配置
    spring boot——MockMvc的用法 (SpringBoot 1.5.18)下测试通过
    spring boot(10) 基础学习内容
    关于Spring @RequestBody 自动映射模型原理
    @Requestbody@ApiParam @PathVariable @RequestParam三者区别
    《生成对抗网络入门指南【2】》
    《生成对抗网络入门指南【1】》
    《精通 CSS3 动画(学完这个课写炫酷页面)》
  • 原文地址:https://www.cnblogs.com/ITester520/p/13203385.html
Copyright © 2011-2022 走看看