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') except Exception as e:pass # should not exist driver.launch_app() el = driver.find_element_by_name('Animation') assertIsNotNone(el)
7. 获取应用的字符串
实际操作,发现返回的就是该次会话的 session id 。
driver.app_strings
打印出来,类似下面的结果:
<bound method WebDriver.app_strings of <appium.webdriver.webdriver.WebDriver (session="xxxxxxxxxxxxxxxxxxxxxxxxxxx")>>
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 import webdriverdesired_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_activity print(b)
运行结果如下:
.app.ui.activity.MainActivity
2. 启动Activity
在当前应用中打开一个Activity ,或者启动一个新应用并打开一个Activity。
这里第一个参数是要启动的Activity的包名,第二个参数是要启动的Activity名。
driver.start_activity('com.example.android.apis', '.Foo')
比如下面的程序:
#coding=utf-8 from appium import webdriverdesired_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。
转载于:https://www.cnblogs.com/miniren/p/7381277.html
Appium Python 六:管理应用和Activity相关推荐
- appium的python教程_移动App Appium自动化测试教程Appium+Python 【2018年新】_IT教程网...
资源名称:移动App Appium自动化测试教程Appium+Python [2018年新] 资源目录: 第一章:App自动化测试概述 1-1 Appium自动化课程简介 1-2 课程大纲 1-3 移 ...
- pythonapp自动化_移动App Appium自动化测试教程Appium+Python 【2018年新】
资源介绍 资源名称:移动App Appium自动化测试教程Appium+Python [2018年新] 资源目录: 第一章:App自动化测试概述 1-1 Appium自动化课程简介 1-2 课程大纲 ...
- Appium+python自动化-启动app
Appium+python自动化-启动app 环境已经搭建好了,接下来就是需要启动APP,如何启动app呢?首先要获取包名,然后获取launcherActivity.获取这两个关键东西的方法很多,这里 ...
- appium+python自动化测试教程_Python+Appium实现自动化测试
一.环境准备 1.脚本语言:Python3.x IDE:安装Pycharm 2.安装Java JDK .Android SDK 3.adb环境,path添加E:\Software\Android_SD ...
- python android自动化元素定位_linux下Appium+Python移动应用自动化测试实战---3.手把手教你定位元素编写测试用例...
linux下Appium+Python移动应用自动化测试实战-3.手把手教你定位元素编写测试用例 前言 有很多童鞋环境搭建好了却没有进行下一步,是因为缺少step by step的资料. 互联网上ap ...
- appium+python自动化33-解锁九宫格(TouchAction)
TouchAction 1.源码可以在这个路径找到:Lib\site-packages\appium\webdriver\common\touch_action.py class TouchActio ...
- appium+python 操作APP
整理一些appium+python操作APP的常用方法 1.检查应用是否已经安装 driver.is_app_installed('package_name') 2.安装APP driver.inst ...
- Appium+python自动化8-Appium Python API
Appium+python自动化8-Appium Python API 前言: Appium Python API全集,不知道哪个大神整理的,这里贴出来分享给大家. 1.contexts contex ...
- Appium+Python安卓自动化测试之启动APP和配置获取
Appium+Python安卓自动化测试之启动APP和配置获取 本文章未讲述appium+python环境部署,环境部署会新开文章 一.手机连接电脑 1.USB连接电脑和手机,手机上点确认连接(最好用 ...
最新文章
- 一个用于 Angular 开发的 Chrome 扩展 - Angular Dev Tools
- 如何给 mongodb 设置密码
- LeetCode之Detect Capital
- 基于Windows 7旗舰版搭建WinCE6.0开发环境的过程
- mysql8.0 的新特性_MySQL8.0-新特性汇总
- 正则语言和正则表达式_探索正则表达式背后的语言学
- C/C++ 获取目录下的文件列表信息
- 微软拿下美国国防部100亿美元云合同,亚马逊不干了...
- Flex App的Size和Link报告
- Nodemon包的使用
- ssim 算法 java实现_图像质量评价指标之 PSNR 和 SSIM
- 没有计算机的一天英语作文带翻译,美好的一天糟糕的一天英语作文带翻译
- 题目 1341. 十三号星期五
- 电脑有弹窗广告怎么办?真实个人经验分享
- 阿里云、腾讯云、七牛、网易云CDN简单对比
- 王者服务器修改,王者荣耀
- 考研逻辑整理 - 负判断、联言判断和联言推理
- JPA学习笔记1——JPA基础
- python正则匹配ABAC型词语
- 人机工程学产品设计案例_儿童产品设计的那些原则【北京新易设计坊】
热门文章
- html制作水晶状态导航栏,HTML5 CSS3水晶风格的页面头部
- java批量删除接口怎么定义_教你在Java接口中定义方法
- a标签传值到另一个页面_Vue组件传值与通信集合
- 脑机接口与量子计算机,关于脑机接口---浅谈人工智能。
- RedHat7.0 设置weblogic开机自启动
- Linux 利用yum源安装nginx
- 结构体实验报告总结_解读!清华、谷歌等10篇强化学习论文总结
- easyui datagrid不是相邻的能合并单元格吗_介绍一种划分账龄的方法,要不了半个小时就能完成...
- Mysql Too many connections解决方法
- matlab程序设计实践,MATLAB程序设计实践(第二题)