Appium自动化(11) - 详解 Applications 类里的方法和源码解析

如果你还想从头学起Appium,可以看看这个系列的文章哦!

https://www.cnblogs.com/poloyy/category/1693896.html

 

前言

  •  Applications 类在 appium\webdriver\extensions  下的  applications.py  模块中

  • 该类的方法面向对象都是app ,而不是Webelement

 

background_app(self: T, seconds: int)

作用

将app 放到后台运行一段时间

参数讲解

seconds:应用程序保留在后台的持续时间

源码解析

其实这个类里面每个方法的源码基本一样

  1. data:传入函数必需传的参数
  2. 然后调用 execute() 方法
  3. 返回 self 或  bool 值

 

is_app_installed(self: T, bundle_id: str) 

作用

检查设备上是否安装了由 bundle_id 指定的应用程序

参数讲解

bundle_id:应用程序的ID

返回

如果安装了应用,则True

 

install_app(self: T, app_path: str, **options: Any)

作用

安装本地指定路径的应用程序

参数讲解

  • app_path:应用程序的本地或者远程路径
  • options:其他参数【只针对Android】,如下
  • replace:如果设备上已经存在该 app,是否重新安装/升级该软件包,默认True
  • timeout:等待安装的时间,默认6000ms
  • allowTestPackages:是否允许安装清单中标记为test的软件包,默认False
  • useSdcard:是否使用sd卡安装app,默认False
  • grantPermissions:安装完成后是否自动授予Android 6+上的应用程序权限,默认False

源码解析

如果方法有可传参数字典 options,则加多了一个步骤,更新data 字典数据,把options 传进去

 

remove_app(self: T, app_id: str, **options: Any) 

作用

从设备中删除指定的应用程序

参数讲解

  • app_id:需要删除的应用程序ID
  • options:其他参数,如下
  • keepData:卸载后是否保留应用程序数据和缓存,默认False
  • timeout:等待完成卸载的时间,默认20000ms

 

close_app(self: T)

作用

停止运行当前打开的app

 

activate_app(self: T, app_id: str)

作用

如果应用程序未运行或在后台运行,则将其激活

参数讲解

app_id:需要删除的应用程序ID

 
posted @ 2020-05-21 09:47  小菠萝测试笔记  阅读(1179)  评论(1编辑  收藏  举报