作者:E4b9a6, 创建:2022-05-20, 字数:4419, 已阅:34, 最后更新:2022-05-20
Appium是一个开源的自动化测试框架,支持IOS/Android等移动端APP的自动化脚本测试,本文主要总结一下如何快速搭建Appium的测试环境
此次Appium与Android虚拟机主要搭建在Windows10上,使用Python脚本进行自动化操作
BlueStacks可以直接安装,Appium下载完成后解压到指定文件夹,我这里暂定为
到这里我们需要的框架与虚拟机均以搭建完成,但此时还无法运行Appium,因为缺少了Android开发环境
我这里选择JDK16进行下载安装,请根据自己的系统选择对应的版本
我下载的是压缩包,解压压缩包至新文件夹
接着创建2个系统环境变量,JAVA_HOME 与 CLASSPATH,其值如下
然后编辑系统环境变量 Path,添加我们的java环境变量
添加完成后,打开CMD,检验安装已完成
C:\Users\chancel>java --version
java 16.0.2 2021-07-20
Java(TM) SE Runtime Environment (build 16.0.2+7-67)
Java HotSpot(TM) 64-Bit Server VM (build 16.0.2+7-67, mixed mode, sharing)
Appium的运行需要ANDROID_HOME与ANDROID_SDK_HOME两个系统环境
首先下载commandlinetools-win,commandlinetools-win的下载地址:developer.android.com/studio
下载后进行解压,右键该文件夹,选择使用Powershell命令行,这里假设我打算安装Android SDK的路径为:C:\Programs\android-sdk\
sdkmanager.bat --sdk_root=C:\Programs\android-sdk\ "cmdline-tools;latest"
注:安装完成后可删除下载的commandlinetools-win与其解压出来的文件夹,后面不再需要
我们切换路径到 C:\Programs\android-sdk\cmdline-tools\latest\bin,继续右键该文件夹并选择使用Powershell命令行
我这里打算安装emulator/platform-tools/build-tools这三个常用的SDK工具,命令如下
cd C:\Programs\android-sdk\cmdline-tools\latest\bin
sdkmanager.bat --install "emulator"
sdkmanager.bat --install "platform-tools"
sdkmanager.bat --install "build-tools"
安装完成之后就可以配置系统环境,创建以下几个系统环境变量
然后修改系统环境变量Path的值,添加如下几个值
最后,打开CMD,检查配置成功与否
C:\Users\chancel>sdkmanager --version
5.0
此时Appium已经可用,运行Appium并选择Start开始运行服务
BlueStacks 运行之后按照默认提示创建一个虚拟机,然后在设置中打开adb调试,如下图
之后在CMD中检验是否连接是否正常(如果输出中devices列表为空,可使用 adb kill-server 重启adb服务,一般就会看到虚拟机设备)
Microsoft Windows [版本10.0.17763.2114]
(c) 2018 Microsoft Corporation,保留所有权利
C:\Users\chancel>adb devices
List of devices attached
emulator-5554 device
可以看到我的虚拟机名称为 emulator-5554
通常安装虚拟机有一个好处可以随意root,不用担心数据安全,BlueStacks的root权限获取不算复杂,使用tweaker来获取root权限
官网的视频讲的非常清晰,如果您懒得观看视频,则基本步骤如下
BlueStacks系统并没有提供代理功能,如果需要使用BlueStacks进行网络代理的访问(抓包),需要借助一些第三方工具的协助,如
这里使用Python做一个简单的自动化操作,我们初始化一个项目,具体信息如下
初始化项目环境(可选),使用pyenv指定项目使用的Python版本并创建激活虚拟环境
cd ~/codes/python/appium-hello-world
pyenv local 3.7.2
python -m venv .env
source .env/bin/activate
安装必要的第三方pip包
pip install appium-python-client
下载一个官方用于测试Appium的APK,下载地址:selendroid/selendroid - github.com
接着我们创建一个main.py文件,输入如下代码
from appium import webdriver
desired_caps = dict(
platformName='Android',
platformVersion='7.1.1', # 取决您的BlueStacks虚拟机Android版本
automationName='uiautomator2',
deviceName='emulator-5554', # 这里是从上面2.4小节中使用adb获取到的device name
app=PATH('C:\\Users\\chancel\\Downloads\\selendroid-test-app.apk)')
)
# 下面是刚才部署的Windows10+Appium机器的IP,如果是本机则输入localhost即可
self.driver = webdriver.Remote('http://172.16.1.100:4723/wd/hub', desired_caps)
el = self.driver.find_element_by_accessibility_id('item')
el.click()
运行这个文件,您应该可以观察到虚拟机明显的自动化操作过程
python main.py
Appium + BlueStacks除了可以应用在自动化测试方面,还可以应用在许许多多的用途上,如自动化爬虫、定时签到等等
考虑稳定性,最好的组合应该是手动使用npm安装Appium + Ubuntu + Genymotion的稳定性会强上不少
开发阶段则可以采用这种方案快捷方便,无需安装完整的Android Studio