python activiti_Appium Python 六:管理应用和Activity

管理应用

1. 将当前应用放到后台

执行之后,应用会被放到后台特定时间。比如这里就是5秒,5秒过后,应用会重新回到前台。

driver.background_app(5)

官网示例:

driver.background_app(1)

sleep(2)

el= driver.find_element_by_name('Animation')

assertIsNotNone(el)

2. 检查应用是否已经安装

检查设备目前是否安装了某个应用,这里检查的是知乎APP。

这里需要的参数是该应用的包名,下面就是知乎的包名。该方法会返回True 或者 False 。

driver.is_app_installed('com.zhihu.android')

3. 安装应用

在设备上安装某个应用。参数是该应用APK文件的路径。

driver.install_app('zhihu_521.apk')

其实执行的就是:adb install zhihu_521.apk

官网示例:

assertFalse(driver.is_app_installed('io.selendroid.testapp'))

driver.install_app('/Users/isaac/code/python-client/test/apps/selendroid-test-app.apk')

assertTrue(driver.is_app_installed('io.selendroid.testapp'))

4. 卸载应用

在设备上卸载某个应用。参数是该应用的包名。

driver.remove_app('com.zhihu.android')

其实执行的就是: adb uninstall com.zhihu.android

官网示例:

assertTrue(driver.is_app_installed('com.example.android.apis'))

driver.remove_app('com.example.android.apis')

assertFalse(driver.is_app_installed('com.example.android.apis'))

5. 关闭应用

关闭 desired_caps 定义的应用。

driver.close_app()

6. 启动应用

启动 desired_caps 定义的应用。

driver.launch_app()

官网示例:

el = driver.find_element_by_name('Animation')

assertIsNotNone(el)

driver.close_app();try:

driver.find_element_by_name('Animation')exceptException as e:pass #should not exist

driver.launch_app()

el= driver.find_element_by_name('Animation')

assertIsNotNone(el)

7. 获取应用的字符串

实际操作,发现返回的就是该次会话的 session id 。

driver.app_strings

打印出来,类似下面的结果:

>

8. 重置

driver.reset()

官网示例:

el = driver.find_element_by_name('App')

el.click()

driver.reset()

sleep(5)

el= driver.find_element_by_name('App')

assertIsNotNone(el)

Activity

1. 获取当前Activity

driver.current_activity

比如下面的程序:

from appium importwebdriver

desired_caps={}

desired_caps['platformName'] = 'Android'desired_caps['platformVersion'] = '4.2.2'desired_caps['deviceName'] = 'Android Emulator'desired_caps['appPackage'] = 'com.zhihu.android'desired_caps['appActivity'] = 'com.zhihu.android.app.ui.activity.MainActivity'driver= webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

b=driver.current_activityprint(b)

运行结果如下:

.app.ui.activity.MainActivity

2. 启动Activity

在当前应用中打开一个Activity ,或者启动一个新应用并打开一个Activity。

这里第一个参数是要启动的Activity的包名,第二个参数是要启动的Activity名。

driver.start_activity('com.example.android.apis', '.Foo')

比如下面的程序:

#coding=utf-8

from appium importwebdriver

desired_caps={}

desired_caps['platformName'] = 'Android'desired_caps['platformVersion'] = '4.2.2'desired_caps['deviceName'] = 'Android Emulator'desired_caps['appPackage'] = 'com.zhihu.android'desired_caps['appActivity'] = 'com.zhihu.android.app.ui.activity.MainActivity'driver= webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)print(driver.current_activity)

driver.start_activity('com.android.calculator2', '.Calculator')print(driver.current_activity)

打印结果如下:

.app.ui.activity.MainActivity

.Calculator

可以看到一开始当前Activity还是 知乎的 Activity,启动计算器的Activity之后,当前Activity就变成计算器的Activity。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值