Appium支持Android和iOS系统,支持多种编程语言,支持三种移动应用类型(Native App,Mobile Web App,Hybrid App)
准备工作
Python和JDK环境配置,Android SDK环境配置(见下文)
注:均要添加环境变量
path中添加环境变量
新增系统变量
环境配置
我用的环境如下
操作系统:Windows 10
被测平台:Android手机
appium服务器:appium-desktop
appium客户端:python-client
Android SDK
Android SDK通过Android Studio安装,下载完成后打开文件一直执行下一步进行安装即可,在安装过程中选择好Android Studio和Android SDK的安装目录,并配置好Android SDK的环境变量,在安装过程中若出现Android Studio First Run弹框,点击Cancel即可
注:若安装后Android SDK安装目录下没有tool文件夹,打开Android Studio,选择File>Settings,按照下图步骤进行下载
appium-desktop
Github中选择相应的版本进行下载安装即可
安装完成后如下图,点击Start Server即可启动进行监听
python-client
本文使用编程语言:Python
通过pycharm编写自动化测试脚本时,在当前工程下,点击File>Settings,安装Appium-Python-Client即可
若通过其他IDE编写自动化测试脚本,可通过pip安装:pip install Appium-Python-Client
元素定位
Android手机进入开发者模式,打开USB调试,进入uiautomatorviewer(Android SDK安装目录下,进入...\tools\bin,打开uiautomatorviewer.bat),点击Device Screenshot,截取手机当前界面(截取时手机不能熄屏),可获取到当前页面各元素的详细信息
注:若截取屏幕时有错误提示,需要重启手机应用;通过XPath进行定位时,使用的是元素的class值
测试脚本
# -*- coding: utf-8 -*-
from appium import webdriver
from time import sleep
caps = {
"platformName": "Android",
"deviceName": "jackkang01",
"automationName":"appium",
"platformVersion": "10.0.0",
"appPackage": "com.greenpoint.android.xxx.activity",
"appActivity": "com.leadeon.xxx.StartPageActivity",
"noReset":True,
"unicodeKeyboard":True,
"resetKeyboard":True
}
driver = webdriver.Remote("http://localhost:4723/wd/hub",caps)
driver.implicitly_wait(10)
my = driver.find_element_by_xpath("//android.view.ViewGroup/android.widget.LinearLayout/android.widget.RelativeLayout[5]")
my.click()
login = driver.find_element_by_id("com.greenpoint.android.mc10086.activity:id/mine_login_btn")
login.click()
driver.quit()
caps字段详解:
H5页面定位