Appium是一个开源的自动化测试工具,其支持iOS和安卓平台上的原生的,基于移动浏览器的,混合的应用
Appium是基于以下的四个理念设计来满足移动平台测试自动化的要求的:
1)您不应该因为需要自动化测试您的应用而不得不以任何形式去重新编译或者修改你的app
2)您不应该把自己固定在一门特定的语言和一个特定的框架上去实现和运行你的测试
3)当说到测试自动化APIs的时候,一个移动测试框架不应该做“重新发明轮子”的事情
4)一个移动测试自动化框架应该是开源的,无论是在精神上,实际上,还是名义上
Appium 是一个用Node.js编写的HTTP server,它创建、并管理多个 WebDriver sessions 来和不同平台交互,如 iOS ,Android等等
Appium 开始一个测试后,就会在被测设备(手机)上启动一个 server ,监听来自 Appium server的指令. 每种平台像 iOS 和Android都有不同的运行、和交互方式。所以Appium会用某个桩程序“侵入”该平台,并接受指令,来完成测试用例的运行
链接:【https://nodejs.org/en/】
安装步骤:一直点击下一步安装
安卓系统是由 Java 开发的
链接:【https://www.oracle.com/java/technologies/downloads/】
已知,我安装 JDK 的路径为 D:\Program Files\Java\jdk-17.0.2
在系统变量中添加以下值
CLASSPATH
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
注意前面是有一个点的
JAVA_HOME
D:\Program Files\Java\jdk-17.0.2
Path 中添加
%JAVA_HOME%\jre\bin
%JAVA_HOME%\bin
在 cmd 中输入
java -version
出现版本号即表示安装成功
SDK Tools 链接:【https://www.androiddevtools.cn/】
记得要使用 SDK Manager 安装插件:指导链接【https://www.cnblogs.com/ycl-2021/p/15355386.html】
已知,我安装 SDK 的路径为D:\Program Files (x86)\Android\android-sdk
在系统变量中添加以下值
D:\Program Files (x86)\Android\android-sdk
%ANDROID_HOME%\tools
%ANDROID_HOME%\platform-tools
在 cmd 中输入
adb version
出现版本号即表示安装成功
链接:【https://github.com/appium/appium-desktop/releases/tag/v1.22.2】
安装过程,一路下一步就行了
链接:【https://www.yeshen.com/】
首先,下载完成后不要忙着打开夜神模拟器,先确保你的电脑 Hepy-V 是关闭的,否则启动模拟器时会出现电脑蓝屏重启的情况
然后,将 D:\Program Files (x86)\Android\android-sdk\platform-tools
路径下的 adb.exe 复制两份,其中一个改名为 nox_adb.exe 后,将两个文件都放到夜神模拟器安装目录的 bin 目录下覆盖原文件
首先,在夜神模拟器中,打开手机的开发者模式
设置 -> 关于平板电脑 -> 点击版本号5次
然后、在开发者选项中开启 use 调试
在夜神模拟器根目录下的 bin 目录下执行 cmd 进入终端
输入 adb devices
后,出现如下提示
List of devices attached
127.0.0.1:62001 device
127.0.0.1:62001 链接着模拟器
再输入nox_adb connect 127.0.0.1:62001
后,出现提示
already connected to 127.0.0.1:62001
获取 app 包名和进程名
打开夜神模拟器中的浏览器
在 adb 连接正确的情况下,在夜神模拟器安装目录的 bin 目录下的 cmd 输入adb shell
进入 adb shell
后输入,dumpsys activity | grep mFocusedActivity
com.android.browser
就是 app 包名
.BrowserActivity
就是进程名
d2q:/ # dumpsys activity | grep mFocusedActivity
mFocusedActivity: ActivityRecord{8193610 u0 com.android.browser/.BrowserActivity t4}
打开 Appium
Android
4.4.2
SM-G955F
com.android.browser
.BrowserActivity
pip install Appium-Python-Client
在夜神模拟器根目录的 bin 下,进入终端,输入
adb devices
nox_adb connect 127.0.0.1:62001
完成代码如下
from appium import webdriver
# 初始化配置,设置Desired Capacities 参数
desired_cap = {
"platformName": "Android",
"deviceName": "SM-N976N",
"appPackage": "com.android.browser",
"appActivity": ".BrowserActivity"
}
# 指定 Appium Server
server = "http://localhost:4726/wd/hub"
# 新建一个 driver
driver = webdriver.Remote(server, desired_cap)
# 获取模拟器,手机分辨率
width = driver.get_window_size()["width"]
height = driver.get_window_size()["height"]
print(width, height)