打开Appium
编辑配置查看是否配置成功
启动Appium
点击启动检查会话
打开cmd命令行查看当前连接的虚拟机和真机
添加配置常用参数
必填项
platformName平台的名称
deviceName设备号
platformVersion设备系统版本号 这个可以填也可以不填
appPackage启动的包
appActivity启动的Activity
desired_caps常用参数:
platformName 平台的名称:iOS, Android, or FirefoxOS
platformVersion 设备系统版本号
deviceName 设备号 IOS:instruments -s devices,Android: adb devices
app 安装文件路径:/abs/path/to/my.apk or http://myapp.com/app
appActivity 启动的Activity
appPackage 启动的包
unicodeKeyboard unicode设置(允许中文输入)
resetKeyboard 键盘设置(允许中文输入)
platformName平台的名称根据自己虚拟机和真机的版本定义
deviceName设备号通过adb devices -l查询
platformVersion设备系统版本号通过adb shell getprop ro.build.version.release查询版本号
appPackage启动的包appActivity启动的Activity使用adb shell dumpsys window | findstr mCurrentFocus
启动会话
录制自动化脚本
查看隐藏代码
复制代码并添加到pycharm里
安装插件
运行脚本
选取元素通过不同的方法点击
1,通过find_element_by_id()
2,通过find_element_by_xpath()
3,通过find_element_by_class_name()
编写测试脚本并进行手机图案锁定
# This sample code uses the Appium python client
# 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.touch_action import TouchAction
import time
caps = {}
caps["platformName"] = "Android"
caps["deviceName"] = "DLT_A0"
caps["platformVersion"] = "7.1.2"
caps["appPackage"] = "com.android.settings"
caps["appActivity"] = "com.android.settings.Settings"
driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
#定位WLAN元素
a1=driver.find_element_by_xpath("//*[contains(@text,'WLAN')]")
#定位显示元素
a2=driver.find_element_by_xpath("//*[contains(@text,'显示')]")
#把显示的元素滑动到WLAN元素的位置
driver.scroll(a2,a1)
#定位存储的元素
b1=driver.find_element_by_xpath("//*[contains(@text,'存储')]")
#把存储的元素滑动到显示的位置
driver.scroll(b1,a2)
#定位安全元素并点击
a3=driver.find_element_by_xpath("//*[contains(@text,'安全')]").click()
time.sleep(2)
#定位屏幕锁定并点击
a4=driver.find_element_by_xpath("//*[contains(@text,'屏幕锁定')]").click()
time.sleep(2)
#定位图案元素并点击
a5=driver.find_element_by_xpath("//*[contains(@text,'图案')]").click()
#分别选择滑动的图案坐标 240 985 240 1269 240 1527 538 1567 832 1567
time.sleep(2)
#进行滑动的操作
TouchAction(driver).press(x=240,y=985).wait(100).move_to(x=240,y=1269).wait(100).move_to(x=240,y=1527).wait(100).move_to(x=538,y=1567).wait(100).move_to(x=832,y=1567).release().perform()
driver.find_element_by_xpath("//*[contains(@text,'继续')]").click()
time.sleep(2)
TouchAction(driver).press(x=240,y=985).wait(100).move_to(x=240,y=1269).wait(100).move_to(x=240,y=1527).wait(100).move_to(x=538,y=1567).wait(100).move_to(x=832,y=1567).release().perform()
driver.find_element_by_xpath("//*[contains(@text,'确认')]").click()