1. 应用操作

本章所罗列的方法主要针对应用的操作,如应用的安装、卸载、关闭、启动等。

把前面的启动代码放在这里,后面只展示不同的部分。

# coding:utf-8from appium import webdriver
from time import sleep
# 初始化desired_caps = {}# 使用哪种移动平台desired_caps['platformName'] = 'Android'# Android版本desired_caps['platformVersion'] = '5.1.1'#使用adb devices -l 查询,当有多台设备时,需要声明desired_caps['deviceName'] = '127.0.0.1:62001'#包名desired_caps['appPackage'] = 'com.android.settings'#界面名desired_caps['appActivity'] = '.Settings'# 启动服务driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

1.1 获取应用的包名和界面名

当我们从一个应用跳转到另外一个应用的时候,想输出其包名、界面名或者想在报告中展现对应信息, 我们就可以调用这个属性来进行获取。

# 打印当前包名print(driver.current_package)# 打印当前界面名print(driver.current_activity)

1.2 安装和卸载以及检查应用是否安装

安装应用:

driver.Install_app(app_path):安装应用到设备,需要apk包的路径。

卸载应用:

driver.remove_app(app_id):从设备中删除一个应用。

检查应用是否安装:

driver.is_app_installed(app_id):检查应用是否已经安装。需要传入应用包的名字。返回结果为True或False。

案例:

我们现在就来安装一个应用宝吧,首先用电脑下载一个应用包的apk,放在F盘下。

然后我们将apk拖进模拟器中安装,进入应用包,查看应用包的名字。

 

 

这些完成就可以开始我们的实例演示了。

if driver.is_app_installed("com.tencent.android.qqdownloader"):    driver.remove_app("com.tencent.android.qqdownloader")else:    driver.install_app("E:\yingyongbao_7422130.apk")#退出driver1driver.quit()

如果应用宝已经安装,就会卸载应用宝。如果应用宝没有安装,就会安装应用宝。

大家只要运行成功,就可以看到效果了。

1.3 在脚本内启动其他应用

我们经常遇到需要从一个应用跳转到另外一个应用 ,就像我们使用饿了吗的时候,需要跳转到支付宝来进行支付一样。

我们想要实现这种功能,就要使用下面的方法了。

driver.start_activity(appPackage, appActivity):分别传入要打开的应用的包名和界面名。

实例:

打开《设置》,等待三秒后跳转到《通讯录》。

sleep(3)#跳转到短信driver.start_activity('com.android.contacts', '.activities.PeopleActivity')sleep(5)#退出driver1driver.quit()

1.4 关闭应用

有的时候我们需要关闭某个应用程序后,再打开新的应用。那么如何关闭应用程序呢?

我们到目前为止,已经学过一种关闭应用的方法了,那就是driver.quit()。但是这种关闭呢,是关闭驱动对象,同时关闭所有关联的应用,关闭后我们是无法使用脚本操作应用的。

如果我们只想关闭当前操作的应用,不关闭驱动对象,我们就可以使用driver.close_app()方法。

1.5 重置应用

driver.reset()

重置应用。相当于“恢复出厂默认值”的效果。这个方法不需要传入参数。

1.6 将应用置于后台

置于后台相信玩过手机的都知道,就是将程序不显示在手机界面上,但是却可以正常运行,最好的例子就是我们常用的QQ了。

方法:

driver.background_app(seconds):app放置到后台一定时间后再回到前台,模拟热启动。这个方法需要传入一个时间,表示在后台停留多少秒。

热启动:表示进入后台回到前台。关机再开这种切断电源的行为可以叫做 ”冷启动。

实例:

打开《设置》,进入后台五秒,再回到前台。

time.sleep(3)driver.background_app(5)time.sleep(3)# 退出driverdriver.quit()

更多相关文章

  1. Android中简单实现夜间模式
  2. ZH奶酪:Ubuntu14.04 安装Android(安卓)SDK(SDK tools only)
  3. android设置中的Preferencescreen使用方法介绍与分析
  4. 去掉rk3288 android6.0 默认锁屏界面
  5. Android(安卓)H5混合开发 JS调用原生方法
  6. Android(安卓)Studio2.3正式版带SDK安装教程
  7. android的存储GreenDao数据库
  8. Android指纹识别,看这一篇就够了
  9. Spreadtrum_Android_8805和8810环境搭建和源码编译V1.0.1_Word文

随机推荐

  1. android view视图的层叠(叠加)
  2. Android 5.0以上Button,ImageView自带阴影
  3. Android应用开发相关下载资源(2016/07/24
  4. 一:android开发简介
  5. Android通过xml给控件添加边框
  6. activity的android:name 设置问题
  7. Android中HTTP请求出现“Received authen
  8. 微信支付接口 For Android(安卓)上手指南
  9. android 注解简介三: 自定义注解实现视图
  10. Android ProgressDialog 最佳处理方式