Appium是一个开源的,适用于原生或混合移动应用( hybrid mobile apps )的自动化测试工具,Appium应用WebDriver: JSON wire protocol驱动安卓和iOS移动应用。
这套组合是要来使用python操控模拟其中的App,安装的过程比较简单,但是又比较繁琐。总共需要安装Python
、JDK
、Android Studio
、Appium
以及夜神模拟器
,为了方便以后重新配置环境,故简单记录下配置运行环境的过程。
环境安装
1 Python安装
下载
Python的下载地址为:https://www.python.org/downloads/windows/,选择合适的版本下载即可。
安装
安装过程略。
需要提醒的是,安装的时候记得勾选将安装路劲添加到Path的选项,以免安装完毕之后手动将安装路径设置到Path中。
安装完成后,需要使用pip安装操作Appium的相关模块appium-python-client
:
pip install appium-python-client
2 JDK的安装
下载
JDK的下载路径为https://www.oracle.com/java/technologies/javase-downloads.html
按照下面的图示选择适配的版本即可。
安装
安装过程略。
注意:安装完成后需要新建一个环境变量名为JAVA_HOME
,其中保存的是JDK的安装路径。下面是我的示例:
3 Android Studio的安装
安装Android Studio实际上是为了安装Android SDK,直接安装Android SDK比较麻烦,安装Android Studio后,会有安装Android SDK的选项。
下载
Android Studio的下载地址为:http://www.android-studio.org
选择合适的版本下载即可。
安装
安装过程略。
安装完成后,首次打开会有安装Android SDK
的选项,选择合适的安装目录安装即可。
注意:也需要新建一环境变量ANDROID_HOME
来保存Android SDK
的安装路径。
同时,还需要将Android SDK
的安装路径下的platform-tools目录
放入到Path
中,以方便使用其中的adb.exe
。
4 Appium Desktop的安装
Appium Desktop的下载地址为:https://github.com/appium/appium-desktop/releases/tag/v1.20.2,选择合适的版本下载:
安装过程略。
5 夜神模拟器安装
下载:
下载地址为:https://www.yeshen.com/,选择合适的版本下载:
安装
安装过程略。
2021-04-17删除(不进行如下操作也无问题)
安装完成后,需要进行以下步骤以便Appium Server可以链接到夜神模拟器。
(1) 复制Android JDK
安装路径下platform-tools
目录中的adb.exe
,替换夜神模拟器
安装路径下Bin目录中的adb.exe
。
(2) 删除夜神模拟器安装路径下Bin目录中的nox_adb.exe
,复制Android JDK
安装路径下platform-tools目录中的adb.exe
到Bin目录下并重命名为nox_adb.exe
。
测试
先打开夜神模拟器,然后cmd进入到安装路径的bin目录下,分别执行如下命令:
adb.exe connect 127.0.0.1:62001
(用来链接模拟器,62001为夜神模拟器监听端口号,如果是其他模拟器,修改为其对应的监听端口号即可[常用Android模拟器的默认监听端口(转载)])
adb devices
(用来显示已连接的设备)
如果显示如下,则配置成功:
直接使用Appium操控模拟器
前提
使用Appium时,需要用到两个参数: appPackge
与appActivity
。appPackage
是启动APP Package名称,也就是需要操控的App名称。 appActivity
是启动Activity名称,也就是启动App后的第一个界面。
以下是获取这两个值的方法: (以操控bilibli为例):
打开模拟器,然后打开bilibili,保持当前的运行界面(bilibili在最前面):
然后cmd输出命令:
adb shell dumpsys activity recents | find "intent={"
输出如下:
C:\Users\xupeng>adb shell dumpsys activity recents | find "intent={"
intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=tv.danmaku.bili/.ui.splash.SplashActivity}
intent={act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000100 cmp=com.vphone.launcher/.launcher3.Launcher}
intent={act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10800100 cmp=com.android.settings/.FallbackHome}
C:\Users\xupeng>
输出信息第一条就是屏幕最前面App(也就是bilibili)的信息,需要的是其中字段cmp
的值:tv.danmaku.bili/.ui.splash.SplashActivity
,/前的tv.danmaku.bili
就是appPackge
的值,/后的.ui.splash.SplashActivity
就是appActivity
的值。
步骤
1 打开Appium
运行Appium,界面如下:
点击Edit Configurations,配置JAVA_HOME
与ANDROID_HOME
。
由于在安装JDK
和Android Studio
时已经设置了JAVA_HOME
E和ANDROID_HOME
,它就直接能够取到相应的值。
2 点击Start Server按钮,启动监听
无需修改Host与Port,,点击Start Server,进入如下界面:
最后一行输出表示Appium启动成功并在端口4273进行监听。
3 点击Start Inspector Session按钮,配置相关信息
点击右上角最左边的Start Inspector Session,进入如下界面,然后在Automatic Server页面下输入相关参数:
其中,
platformName
为Android(因为是Android模拟器),
platformVersion
为7.1.2(在模拟器的设置中的关于平板电脑中可以看到Android版本),
deviceName
为127.0.0.1:62001是模拟器的Ip地址+端口(前面已经介绍)。
4 点击Start Session按钮,操控模拟器
最后,点击Start Session按钮,Appium就开始操控模拟器打开bilibili,过程中会在模拟器中安装名为Appium Settings的App,当然这只会在不存在Appium Settings才会安装,接着就是等待过程,最后的呈现效果如下:
同时模拟器中也就呈现出相同的界面:
参考资料:
1 Python3 + Appium + 安卓模拟器 实现APP自动化测试,并生成测试报告
2 Appium原理与安装