问题描述:

1、os.popen("adb connect "+device_num)连接后,通过airtest命令行运行脚本后,输入cmd,adb devices断开连接

airtest adb_android


2、pycharm运行测试用例,报错

AdbError: stdout[List of devices attached
 ] stderr[adb server version (39) doesn’t match this client (40); killing…
 could not read ok from ADB Server
• failed to start daemon
 error: cannot connect to daemon
 ]


  • 解决方案:
    是否已经安装了android-sdk-windows,双击“SDK Manager.exe”,启动SDK Manager,如果屏幕出现黑框一闪而过,排查下是否安装了jdk
    安装jdk步骤


    a、系统变量→寻找 Path 变量→编辑

在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

(注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)
b、系统变量→新建 CLASSPATH 变量

变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)

系统变量配置完毕

airtest adb_python_02


安装Android SDK

airtest adb_airtest adb_03


airtest adb_python_04


[异常] Download interrupted: Connection to https://dl-ssl.google.com refused 安卓SDK下载被拒 3步解决

1、SDK Manager 的 Tools ->Options打开SDK Manager的Settings,选中“Force https://… sources to be fetched using http://…”,

强制使用http协议。

2、在 Windows在C:\WINDOWS\system32\drivers\etc目录下host文件添加:

#Google主页
   203.208.46.146 www.google.com
   #这行是为了方便打开Android开发官网 现在好像不也可以打开
   74.125.113.121 developer.android.com
   #更新的内容从以下地址下载
   203.208.46.146 dl.google.com
   203.208.46.146 dl-ssl.google.com

3、重启,一定要重启SDK Mannger

airtest adb_airtest adb_05


然后就是在系统的Path变量后,追加;%ANDROID_SDK_HOME%\platform-tools;%ANDROID_SDK_HOME%\tools

airtest adb_JAVA_06

1、更新python环境的airtest到最新
pip install -U airtest

2、更新了之后,通过命令行运行脚本无效果:

解决方案:

替换掉本地所有的adb.exe,统一成同一个版本(哪怕不是最新的40也可以,只要是同一个版本)

AirtestIDE 1.1.0版本上的adb版本已经更新到40,使用pip安装的airtest、pocoui库里的adb,以及本地的adb.exe通过以下命令可以查看本地adb在哪

airtest adb_JAVA_07


博主是把本地的adb.exe复制到airtestIde(IDE中的adb.exe路径在 AirtestIDE/airtest/core/android/static/adb/windows/adb.exe)、和airtest库(本地python环境下安装的airtest(目录一般为python目录下的 Lib\site-packages\airtest )里的adb.exe,airtest中的路径为 airtest/core/android/static/adb/windows/adb.exe)、(以及夜神模拟器-将SDK\platform-tools下的adb.exe文件,替换成夜神模拟器bin目录下的adb.exe 将SDK\platform-tools下的adb.exe,copy出来重命名为nox_adb.exe,替换成夜神模拟器bin目录下的 nox_adb.exe)里:

airtest adb_python_08


win7用户请尽量统一选用ADB39版本,我们在IDE文件夹中提供了一个, AirtestIDE/tools/adb39/adb.exe ,将它作为基准版本覆盖掉别的地方的adb即可

win10用户可以直接拷贝IDE里的 AirtestIDE/airtest/core/android/static/adb/windows/adb.exe ,这是一个40版本的adb

执行 adb.exe version 可以查看到版本号

airtest adb_airtest adb_09


目的是:避免adb冲突,连接不上设备