Appium 入门
Appium安装总体需要以下几个步骤:
安装JDK
官网www.oracle.com去下载安装,尽量下载JDK7及以上的版本。然后去设置环境变量:
在系统变量下新建变量JAVA_HOME变量值指向JDK安装的文件夹 如:C:\Program Files\Java\jdk1.8.0_121
在系统变量下新建变量CLASSPATH 变量值输入 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
在Path变量里,添加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
测试JDK环境配置是否成功:Win键+R键打开运行 输入cmd 回车进入,输入java -version回车,如果出现JDK版本信息则环境配置成功。
安装Android SDK
- 安卓app的自动化 appium server依赖appium sdk
- android studio 包含了android sdk
- 去官网https://developer.android.google.cn/studio 网页下拉到底部的Command line tools only(仅限命令行工具),下载如图:
- 下载完成后解压,在tools目录下的bin目录下,直接再当前路径下进入cmd ==》输入sdkmanager "platfrom-tools" "platforms;android-28" "build-tools;28.0.3" 去执行安装组件。安装过程中,会弹出提示框Accept?(y/N) 一直yes即可。
给Android sdk设置环境变量
- 去电脑系统属性--环境变量--系统变量里 创建ANDROID_HOME 值设置为SDK根目录的路径。
- 将sdk\plafrom-tools\加入到环境变量path中。
验证是否设置成功:运行cmd打开命令提示窗,输入where adb 能够显示出其所在路径即OK。
查看Android_home的环境变量是否正确,可以在tools/bin目录下输入echo %android_home% 能够显示出android sdk安装路径即OK。
安装Appium python client包
直接在命令提示窗口中 输入pip install Appium-Python-Client
另外要确保安装匹配版本的selenium和appium:可以输入pip install seelnium -U
安装Appium
去官网下载appium 下载地址为https://github.com/appium/appium-desktop/releases/tag/v1.18.0-2,我们下载windows版本的。
安装成功后桌面会有用一个紫色的图标。
我们打开Appium,配置默认点击“start server”启动appium-desktop。
配置sdk路径
使用appium查看元素
配置启动信息(这些参数就是你要连接设备的参数)
点击启动会话
启动脚本
# coding=utf-8 from appium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC """ 查看 App的appPackage和appActivity 1. 打开cmd命令窗口 2.在命令窗口中输入,adb logcat>D:/log.txt,输入D盘下 3.运行手机上app应用程序,需要获取到app应用程序 4.Ctrl+c 结束adb命令,打开log.txt文件,搜索:Displayed """ # appium服务监听地址 server='http://127.0.0.1:4723/wd/hub' # app启动参数 desired_caps={ "platformName": "Android", # 查看 adb devices -l "deviceName": "HWHLK-H", "appPackage": "com.tencent.mm", "appActivity": ".ui.LauncherUI" } # 驱动 driver = webdriver.Remote(server,desired_caps) wait = WebDriverWait(driver,30) # 获取登录按钮 login_btn = wait.until(EC.presence_of_element_located((By.ID,"com.tencent.mm:id/fam"))) # 点击登录按钮 login_btn.click() # 获取手机号文本框 phone_text = wait.until(EC.presence_of_element_located((By.ID,"com.tencent.mm:id/bhn"))) print(phone_text) # 填写手机号文本框 phone_text.send_keys("18888888888")