获取app的包名以及当前页面的activity_贝程学院:Appium元素操作之处理Activity

cad3b0eb3d6286f8a11d411bc6b7eb9d.png

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()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值