Appium 是一个开源、跨平台(测试程序跨平台、支持多平台上的app测试)、多语言支持的(开发语言)移动应用自动化工具。
对于appium的环境搭建可以参考这篇文章https://blog.csdn.net/weixin_42617600/article/details/114111785?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169461433616800184198497%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=169461433616800184198497&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-114111785-null-null.142^v93^chatsearchT3_2&utm_term=appium&spm=1018.2226.3001.4187
环境配置的过程中主要包括以下几个方面:
1.python和pycharm的安装
2.jdk的安装和环境配置
3.appium安装
4.导入Appium_Python_Client包
5.Android SDK连接模拟器
笔者是基于anaconda的虚拟环境搭建appium并连接mumu模拟器实现自动化操作
1.在python和pycharm的安装
由于是在anaconda环境中,最好是创建一个新的虚拟环境(避免在导入appium包时与已有的包发生冲突),python的版本最好是3.8,3.9.
2.jdk的安装和环境配置
上述文章的jdk版本是 1.8,这与后面的Appium_Python_Client包和appium的版本对应,环境变量配置如下:
系统变量下
path路径下
3.Android SDK连接mumu模拟器
安装 Android SDK只需要解压一个熟悉的地方并在系统变量下配置ANDROID_HOME环境变量,结果如下:
为了方便,可以把SDK中的adb.exe配置在path路径中:
在连接安卓设备时,一定要打开手机的开发者模式,并允许USB调试。mumu模拟器的端口号是7555(其他模拟器)
打开自己的模拟器,cmd输入adb connect 127.0.0.1:7555
4.导入Appium_Python_Client包
在导包时,我选择的是conda install Appium_Python_Client,下载的包的版本也是1.02版,但是包中默认是包含selenium=3.141包和urllib3=2.0
在脚本运行时可能出现这样的错误:
ValueError: Timeout value connect was <...>, but it must be an int, float or None
(urllib3版本过高!!!)降低urllib3版本为1.26
AttributeError: ‘NoneType‘ object has no attribute ‘to_capabilities‘
(selenium版本过高!!!)降低selenium版本为3.x
笔者所用三者版版本为
Appium_Python_Client=1.02
selenium=3.141
urllib3=1.26
5.appium安装
这里appium安装的版本是与上述jdk的版本相匹配的1.15.1。启动appium并点击编辑配置,显示了JAVA_HOME和ANDROID_HOME的环境变量说明环境变量已经配置好了
启动服务器,启动检查器会话
可以在这里输入设备参数进行检测是否能够连接成功
如果出现一下错误:
shell ime enable io.appium.settings/.UnicodeIME' exited with code 127'; Stderr: '/system/bin/sh: ime: inaccessible or not found'; Code: '127'
可以试着把unicodeKeyboard属性去掉