Appium+python框架搭建
一、Appium-Python-Client
①安装依赖库也就大家说的客户端,这里的客户端指的是我编辑代码的界面,因为代码界面我要引入webdriver所以叫客户端,其实本质是一个依赖库跟selenium差不多,一般我们安装插件都是在python环境中,也就是使用pycharm的终端窗口数据命令进行安装,当然终端执行的时候需要切换到pip所在的python路径(也就是你安装的python路径)
②Appium-Python-Client继承自Selenium所以使用方法和selenium是很类似的,更多api操作见:https://github.com/appium/python-client
③这里需要注意一下 Appium-Python-Client与selenium的版本一定要注意对上,如果都安装最新的可能会报错,会提示
AttributeError: 'NoneType' object has no attribute 'to_capabilities',这个时候就得考虑版本兼容的问题了。一般selenium安装最新的版本4.23.1,那么Appium-Python-Client安装版本为2.11.1比较合适。
安装:pip install selenium == 4.23.1
卸载:pip uninstall selenium
安装:pip install Appium-Python-Client==2.11.1
卸载:pip uninstall Appium-Python-Client
升级pip工具:python.exe -m pip install --upgrade pip(切换到python安装路径下才进行执行)
注意:如果你安装的是pip3,那么上面的pip都换成pip3执行
二、Appium Desktop
①Appium Desktop是一个可执行的程序
②Appium Server是一个基于JS语言的程序,所以运行它需要安装nodejs(运行js的环境),所以Appium为了简化安装,就将Appium Server与nodejs合二唯一,变成了Appium Desktop,所以我们只需要安装Appium Desktop即可
③下载地址:https://github.com/appium/appium-desktop/releases
④JDK的配置,appium是依赖于JDK运行的,所以需要单独的配置JDK
--右键点击“此电脑”或“计算机”,选择“属性”。
--点击“高级系统设置”。
--在“系统属性”窗口中,选择“环境变量”。
--在“系统变量”部分,点击“新建”:
--变量名:JAVA_HOME
--变量值:你的JDK安装路径,例如 C:\Program Files\Java\jdk-17
--找到“Path”变量,选中并点击“编辑”。
--在“编辑环境变量”窗口中,点击“新建”,然后添加以下内容:
--%JAVA_HOME%\bin
三、Android SDK
①下载地址:https://www.androiddevtools.cn/
②建议下载压缩包直接解压就可以用,然后点击SDK Manager.exe,然后按照下述的选项进行安装,选择最新的装就行
选择一个最新的版本就行了。注意,这里有exe和zip两种文件可供下载,exe的就是个安装程序,下载下来需要自己双击安装。这里建议下载zip压缩包,下载后,直接解压缩到你想要安装Android的路径就行了。解压后的文件目录如下:
然后就双击“SDK Manager.exe”,启动SDK Manager,如图所示:
在这里我只说几个必须要安装的,如上图所示的,Tools文件夹里面的Android SDK Tools(这个我们在之前的一步已经下载好了的,一般不会让你再安装了,不过有可能会让你更新),然后就是Android SDK Platform-tools和Android SDKBuild-tools,注意只需要下载最新的版本就行了。
然后就是API的选择了。选择一个最新的版本就好了,因为Android是向下兼容的。其他的以后你要用到了在下载就行了。所以如上图所示,这里我只选择了下载当前最新的Android 5.1.1(API 22)。这里需要说明的是,如果你以后不打算用模拟器调试,而是一直用真机来调试的话,那么就可以不用装“system images“了。不过新手的话,不知道怎么选择,还是建议直接全部勾上吧,
最后就是extras文件夹中的东西了,如下图所示,
理论上来说,extras中的东西如果网速允许,时间充沛的话,就都下载了吧,应为都是好东西。不过一开始安装的话,可以只用安装上图中的三个,即Android Support Repository、Android SupportLibrary和Google USB Driver。其他的以后有时间再慢慢下载吧。
③记得把adb的路径(在platform-tools下)放到path里
④配置SDK的环境变量,不然appium启动的时候会找不到设备的
--打开环境变量设置:
右键点击“此电脑”或“我的电脑”,选择“属性”。
点击“高级系统设置”。
在“系统属性”窗口中,点击“环境变量”。
添加 ANDROID_HOME 和 ANDROID_SDK_ROOT:
--在“系统变量”部分,点击“新建”。
变量名:ANDROID_HOME
变量值:输入你的 Android SDK 安装路径,例如 C:\Users<你的用户名>\AppData\Local\Android\Sdk
再次点击“新建”,添加第二个变量:
变量名:ANDROID_SDK_ROOT
变量值:同样输入你的 Android SDK 路径。
更新 PATH 变量(可选):
--在“系统变量”中找到 Path 变量,选择后点击“编辑”。
添加以下路径(根据你的 SDK 安装路径调整):
%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\tools
点击“确定”保存所有更改。
四、连接手机
①连接好手机的数据线
②点击关于手机--版本号(多次点击)--会提示开发者环境--找到开发人员选项(具体在哪个目录下需要自己找)--打开USB调试--在计算机的cmd中输入adb devices此时就会显示出设备名称,证明连接成功
③获取对应的手机应用的包名和activity名,先在手机上打开对应的APP然后使用adb shell dumpsys window | findstr mCurrentFocus 命令,可以查看当前启动中的应用信息
五、app都会指定一个主界面MainActivity,这个界面就是点击app后显示的界面,这个界面是可以进行更改的
六、夜神模拟器与appium的连接
①首先安装夜神模拟器,安装好了,直接打开就是(这里建议安装Android8以下的版本,因为uiautomatorviewer.bat页面定位工具目前只支持到Android7,如果装8到及以上打开uiautomatorviewer页面就会报错,会提示“Reason: Unexpected error while obtaining Ul hierarchy”)
②用appium连接夜神模拟器,首先将android_sdk中的adb.exe拷贝到新装的夜神模拟器目录下覆盖其中的adb.exe,为了保持一致,便于连接,不然版本不一致无法连接的,还需要将nox_adb.exe也替换为android_sdk中的adb.exe(名字不改还是叫nox_adb)
然后切换路径cd D:\simulator\Nox\bin\(夜神模拟器的安装路径)
执行adb.exe connect 127.0.0.1:62001启动模拟设备,然后devices就可以看到了,最后在启动appium就可以进行操作了(如果你新安装了东西或是修改了什么最好还是重启一下模拟器,不然启动起来一会儿就找不到了就会报错)