adb
安装:下载android-sdk压缩包,解压后其中有adb.exe,配置环境变量后即可
cmd下‘adb’即可启动adb客户端
adb devices –l 查看已连接的模拟器
adb connect 127.0.0.1:62001 手动连接第三方模拟器(夜神)
adb原理:
启动某个 adb 客户端时,客户端会先检查是否有 adb 服务器进程正在运行。如果没有,它将启动服务器进程。服务器在启动后会与本地 TCP 端口 5037 绑定,并监听 adb 客户端发出的命令;
通过扫描 5555 到 5585 之间(该范围供前 16 个模拟器使用)的奇数号端口查找模拟器。服务器一旦发现 adb 守护进程 (adbd),便会与相应的端口建立连接
参考:https://developer.android.google.cn/studio/command-line/adb
appium
安装:两种方式
1.基于node的安装
appium依赖于node,所以先安装node(exe文件)
用node的npm安装appium
npm install -g appium
cmd下‘appium’命令即可启动
2.安装桌面版(常用)
通过exe安装
有客户端的功能,代替python测试代码,和连接后的查找功能
appium原理:(appium-client,appium-server,bootstrap,uiautomator)
1.c/s架构,客户端将测试代码发送给appium-server,appium服务器为4723,
2.模拟器上安装bootstrap.jar,开启socket-server(端口4724)与appium通信,并将请求转换成UiAutomator可以识别的命令
3.uiautomator执行命令,产生效果
即:appium端口4723接收客户端命令,模拟器端口4724接收appium命令,uiautomator执行命令
appium需要依赖于adb的连接
python的appium客户端
安装:pip install appium-python-client
连接:
from appium import webdriver
desired_caps = {
'platformName': 'Android',
'deviceName': '127.0.0.1:62001',
'platformVersion': '5.1.1',
# apk包名
'appPackage': 'com.taobao.taobao',
# apk的launcherActivity
'appActivity': 'com.taobao.tao.welcome.Welcome'
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
需要配java的环境变量
安装jdk
JAVA_HOME:C:\Program Files\Java\jdk1.8.0_231
Path:%JAVA_HOME%\bin %JAVA_HOME%\lib\dt.jar %JAVA_HOME%\lib\tools.jar
模拟器
自带的:AVD Manager.exe,创建虚拟机
第三方:夜神
需要配Android环境变量
ANDROID_HOME:C:\Program Files (x86)\Android\android-sdk
Path:%ANDROID_HOME%\tools %ANDROID_HOME%\platform-tools
模拟器很卡,真机也行,打开开发者模式-调试即可