暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

airtest中的adb使用

测试备忘录 2021-11-02
3639

    在前面记录了一下adb在命令行和python中的调用方式 adb获取安卓手机文件。但是发现这种方式在Airtest中并没有很好的适用性,会出现诸如:

    airtest.core.error.AdbShellError: stdout[b''] stderr[b'']
    复制

    类型的错误,按照修改yosemite输入法,并且设置为默认输入法的方式并没有解决。还是需要找一个合理的解决方式。


    解决方案

        经过查阅发现,airtest应该是在自己内部做了一层封装,对adb原生的命令做了一层转换,所以对adb命令的直接调用识别不太好,需要调用Airtest自身的adb命令,使用方式如下:

      连接设备:
      dev = connect_device("Android:///")


      执行shell命令:
      path = dev.shell("ls sdcard/*_2021-09-26-*.jpg|tr -d '\\n'")
        注:在对应的shell命令之后,要加上去掉 '\n' 的情况。因为命令识别会多出一个\n造成识别失败。


      其他adb命令:
        dev.adb.pull(path,'./')
        注:adb.pull的操作,对应adb中的 adb pull localpath distinctpath
        
      查看其他adb命令:
         print(dir(dev.adb.pull)) 可以查看对应的adb.pull命令
         print(dir(dev.adb))  可以查看所有的adb命令,然后再来结合adb原生命令进行相应命令的使用
      复制

      查阅参考:https://airtest.readthedocs.io/en/latest/

      文章转载自测试备忘录,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

      评论