python+Appium实现手机移动端自动化 | 您所在的位置:网站首页 › 怎么用模拟器打开手机应用 › python+Appium实现手机移动端自动化 |
有线连接真机,实现真机自动化?实现模拟器自动化?在这里,都能满足你的需求! 什么都不说了,直接上干货吧,亲测可用哦👇 一. 环境准备首先,先介绍下所需的环境,如下: JDK1.8 Appium Python3.x Android-sdk 夜深模拟器/mumu模拟器(PS: 自动化真机时可以选择不安装) 安装配置JDK1.81)下载 方式1:官网下载JDK1.8安装包 下载地址:https://www.oracle.com/java/technologies/downloads/ 下载版本选择主流的jdk1.8的版本:jdk-8u241-windows-x64.exe 方式2:直接下载小码农在百度网盘给诸位备好的安装包(不谢~) 下载链接:https://pan.baidu.com/s/1zp9-NCA-rrqIe9kSNn1p1g?pwd=psqk 提取码:psqk 2)配置JDK的环境变量 第一步,Win + R打开“运行”窗口,执行命令“sysdm.cpl”打开“系统属性”窗口,进入“高级”-->“环境变量”-->“系统变量”。 第二步,新建系统变量 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.8.0_211 (这里请改成自身电脑上jdk的实际安装路径) 变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar; (前面有一点和冒号不能少)第三步,编辑PATH变量,在PATH变量中添加如下内容 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; (PATH中原来的路径不要去掉哦)第四步,打开cmd,验证是否安装成功 在cmd中执行javac和java -version即可验证。成功的标识:分别会出现一堆参数说明和jdk的版本信息。 ![]() ![]() 1)下载安装 下载地址:http://tools.android-studio.org/index.php/sdk/ 下载版本选择:android-sdk_r24.4.1-windows.zip 2)配置 与JDK1.8配置类似, 第一步,Win + R打开“运行”窗口,执行命令“sysdm.cpl”打开“系统属性”窗口,进入“高级”-->“环境变量”-->“系统变量”。 第二步,新建系统变量 变量名:ANDROID_HOME 变量值:C:\tools\android-sdk-windows (这里请改成自身电脑上android-sdk的实际路径)第三步,编辑PATH变量,在PATH变量中添加如下内容 ;%ANDROID_HOME%\tools;%ANDROID_HOME%\build-tools\29.0.3;%ANDROID_HOME%\platform-tools第四步,验证是否安装并配置成功。在cmd中执行adb即可验证。成功的标识是输出第一行出现Android Debug Bridge version版本信息。 ![]() 1)下载Appium-Server-GUI 下载地址:https://github.com/appium/appium-desktop/releases ![]() 2)配置Appium Server GUI 安装成功后,双击Appium Server GUI.exe运行,选择“Simple”模式,进入如图中的配置。 ![]() ![]() 配置完成后,即可点击startServer开启服务。 3)下载安装Appium Inspector 下载地址:https://github.com/appium/appium-inspector/releases ![]() ![]() 安装成功后,双击Appium Inspector.exe即可启动Appium Inspector。 至此,Appium就算是安装配置好啦,后续再对Appium Inspector如何使用进行说明。 二.真机测试(有线) 有线连接手机第一步,打开手机的开发者模式(PS: 请自行百度如何开启手机的开发者模式)。 第二步,用USB线连接手机和电脑,在开发者选项中开启“USB调试” 第三步,测试是否连接成功,在cmd中执行命令:adb devices 。出现设备信息即表示连接成功。 ![]() ![]() ![]() 需配置的参数如上图所示,如下: 远程主机:值为127.0.0.1 远程端口:值为4723 远程路径:值为/wd/hub platformName: 声明是ios还是Android系统 platformVersion:内核版本号,可在PowerShell中通过如下命令查看 adb shell getprop ro.build.version.release![]() deviceName:连接的设备名称,可通过如下命令查询 adb devices -l![]() 启动时自动添加必要的Appium供应商前缀:必须勾选 按上述配置好Session参数后,点击“启动会话”,手机会提示安装一些uiautomator的相关插件,请选择“信任安装”待安装完毕后,可以看到Appium Inspector界面弹出手机界面,表示连接配置成功(如下图所示)。 ![]() 此时,就可以用Appium Inspector调试真机,录制自动化脚本啦。(具体详情请参考第四点) 三. 模拟器测试 下载安装模拟器(以“夜深模拟器”为例)模拟器推荐使用 “夜深模拟器”或者“mumu模拟器”。模拟器的安装和使用请自动度娘,这里不做过多赘述。 模拟器安装被测App在电脑上下载好被测App的安装包,然后把apk包直接拖拽到夜神模拟中安装。 启用开发者选项和USB调试模式在夜深模拟器中,步骤为:“设置”-->多次点击版本号直至出现提示-->进入“开发者选项”-->启动USB调试 ![]() 由于android-sdk的adb【sdk安装目录的platform-tools目录下】和模拟器的nox_adb【夜深安装目录的bin目录下】版本不一致,所以需要用sdk的adb.exe替换掉模拟器的nox_adb.exe。 注意:建议将模拟器原本的nox_adb.exe备份。 启动Appium Server![]() ![]() 需配置的参数如上图所示,如下: 远程主机:值为127.0.0.1 远程端口:值为4723 远程路径:值为/wd/hub platformName: 声明是ios还是Android系统 platformVersion:内核版本号,可在PowerShell中通过如下命令查看 adb shell getprop ro.build.version.release![]() deviceName:连接的设备名称,可通过如下命令查询 adb devices -l![]() 启动时自动添加必要的Appium供应商前缀:必须勾选 按上述配置好Session参数后,点击“启动会话”,模拟器会提示安装一些uiautomator的相关插件,请选择“信任安装”待安装完毕后,可以看到Appium Inspector界面弹出模拟器的界面,表示连接配置成功(如下图所示)。 ![]() 此时,就可以用Appium Inspector调试模拟器,录制自动化脚本啦。(具体详情请参考第四点) 四. Appium录制自动化脚本在这里,不会对Appium Inspector进行详细的使用说明,如有需要,请自行找度娘。 录制自动化脚本 步骤为:开始录制-->模拟操作(点击)-->选择录制的脚本语言(Python、Java、js、Ruby等) 录制生成的代码如下: # This sample code uses the Appium python client v2 # pip install Appium-Python-Client # Then you can paste this into a file and simply run with Python from appium import webdriver from appium.webdriver.common.appiumby import AppiumBy # For W3C actions from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.actions import interaction from selenium.webdriver.common.actions.action_builder import ActionBuilder from selenium.webdriver.common.actions.pointer_input import PointerInput caps = {} caps["appium:deviceName"] = "127.0.0.1:62025" caps["platformName"] = "Android" caps["appium:platformVersion"] = "7.1.2" caps["appium:ensureWebviewsHavePages"] = True caps["appium:nativeWebScreenshot"] = True caps["appium:newCommandTimeout"] = 3600 caps["appium:connectHardwareKeyboard"] = True driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps) el1 = driver.find_element(by=AppiumBy.ACCESSIBILITY_ID, value="QQ") el1.click() driver.quit()五. 创建Python自动化脚本 在Pycharm中创建一个py脚本文件,将生成的代码粘贴入py脚本文件中即可。当然,在运行之前,还需要安装依赖包:Appium-Python-Client 环境安装 pip install Appium-Python-Client手机自动化参考文档 Android Keycodes:http://www.temblast.com/ref/akeyscode.htm |
CopyRight 2018-2019 实验室设备网 版权所有 |