1.方法:start_activity(app_package,app_activity, **opts)
- 用法:打开任意的活动的activity,等待下一个activity启动。
- 参数:app_package是包名,app_activity是包启动activity。
在start_activity源码中定义arguments支持的**opts参数:
arguments = {
'app_wait_package': 'appWaitPackage',
'app_wait_activity': 'appWaitActivity',
'intent_action': 'intentAction',
'intent_category': 'intentCategory',
'intent_flags': 'intentFlags',
'optional_intent_arguments': 'optionalIntentArguments',
'dont_stop_app_on_reset': 'dontStopAppOnReset'
}
实例:
#coding:utf-8
import time,os
from appium import webdriver
desired_caps = {}
desired_caps['platformName'] = 'Android' # 设备系统
desired_caps['platformVersion'] = '6.0' # 设备系统版本
desired_caps['deviceName'] = 'emulator-5554' # 设备名称
desired_caps['appPackage'] = 'com.android.contacts'
desired_caps['appActivity'] = '.activities.PeopleActivity'
driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)
dic = {
"calc":[
"com.android.calculator2",
".Calculator"
],
"con":[
"com.android.contacts",
".activities.PeopleActivity"
]
}
driver.start_activity(dic["calc"][0],dic["calc"][1])
driver.start_activity(dic["con"][0],dic["con"][1])
技术解释:dic保存key分别是计算器和联系人两个应用信息。start_activity第一次启动计算器,第二次启动联系人。
2.方法:driver.current_activity()
- 作用:获取当前Activity。
实例:
#coding:utf-8
from appium import webdriver
desired_caps = {}
desired_caps['platformName'] = 'Android' # 设备系统
desired_caps['platformVersion'] = '6.0' # 设备系统版本
desired_caps['deviceName'] = 'emulator-5554' # 设备名称
desired_caps['appPackage'] = 'com.android.calculator2'
desired_caps['appVersion'] = '3.0'
desired_caps['appActivity'] = '.Calculator'
driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)
strActivity = driver.current_activity
if strActivity == ".Calculator":
print("当前打开的是计算器")
技术解释:启动计算器后,判断当前Activity是否是计算器.
3.方法:click(self)
- 作用:点击控件
实例:操作计算器
#coding=utf-8
from appium import webdriver
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '4.4.2'
desired_caps['deviceName'] = 'Android Emulator'
desired_caps['appPackage'] = 'com.android.calculator2'
desired_caps['appActivity'] = '.Calculator'
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
driver.find_element_by_name("1").click()
driver.find_element_by_name("5").click()
driver.find_element_by_name("9").click()
driver.find_element_by_name("delete").click()
driver.find_element_by_name("9").click()
driver.find_element_by_name("5").click()
driver.find_element_by_name("+").click()
driver.find_element_by_name("6").click()
driver.find_element_by_name("=").click()
driver.quit()