云计算百科
云计算领域专业知识百科平台

【UI自动化测试】6_Appium基础API _App基础操作

文章目录

  • 一、应用跳转、获取包名界面名
  • 二、 关闭app和驱动对象
    • 2.1 driver.close_app()关闭应用
    • 2.2 driver.quit()关闭驱动对象
  • 三、安装和卸载以及是否安装app
  • 四、将应用置于后台
  • 五、热启动和冷启动

一、应用跳转、获取包名界面名

需求:打开《设置》应用程序,等待三秒后跳转到《通讯录》应用程序,并输出当前的包名和界面名

# ①导包
import time
from appium import webdriver

# ②配置启动参数
desired_caps = {}
# 手机参数
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1'
desired_caps['deviceName'] = '1'
# 应用参数
desired_caps['appPackage'] = 'com.android.settings'
desired_caps['appActivity'] = 'com.android.settings.Settings'

# ③ 创建APP驱动对象
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
# ④ 业务操作
time.sleep(3)
# 1、跳转到通讯录
driver.start_activity('com.android.contacts', '.activities.PeopleActivity')
# 2、等待2s获取《通讯录》包名和界面名
time.sleep(2)
# 输出当前程序的包名
print(driver.current_package)
# 输出当前程序的界面名
print(driver.current_activity)

time.sleep(5)
# ⑤关闭APP
driver.quit()

结果 :

com.android.contacts
.activities.PeopleActivity

在这里插入图片描述

二、 关闭app和驱动对象

需求:打开《设置》,使用 driver.close_app() 方法关闭,再尝试使用 driver.quit()方法,最后打印当前程序的包名,观察区别。

2.1 driver.close_app()关闭应用

把《设置》打开,过了3秒又关闭了,现在在安卓手机的桌面。——>之后打印安卓桌面应用

from appium import webdriver
import time

desired_caps = dict()
# 手机参数
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1'
desired_caps['deviceName'] = '192.168.56.101:5555'
# 应用参数
desired_caps['appPackage'] = 'com.android.settings'
desired_caps['appActivity'] = '.Settings'

# 获取driver
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

# 等待三秒
time.sleep(3)

# 关闭应用
driver.close_app()

# 打印包名
print(driver.current_package)

结果:

com.android.launcher3 # 安卓手机内部的启动器

2.2 driver.quit()关闭驱动对象

from appium import webdriver
import time

desired_caps = dict()
# 手机参数
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1'
desired_caps['deviceName'] = '192.168.56.101:5555'
# 应用参数
desired_caps['appPackage'] = 'com.android.settings'
desired_caps['appActivity'] = '.Settings'

# 获取driver
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

# 等待三秒
time.sleep(3)

# 退出driver
driver.quit()

# 打印包名
print(driver.current_package)

结果:报错。driver相当于管家一样。把管家辞退了,没人干活当然报错。

在这里插入图片描述

三、安装和卸载以及是否安装app

需求关闭设置应用,然后如果《qq》已经安装,则卸载《qq》,如果没有则安装。

# ①导包
import time
from appium import webdriver

# ②配置启动参数
desired_caps = {}
# 手机参数
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1'
desired_caps['deviceName'] = '1'
# 应用参数
desired_caps['appPackage'] = 'com.android.settings'
desired_caps['appActivity'] = 'com.android.settings.Settings'

# ③ 创建APP驱动对象
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

# ④ 业务操作
# 1、关闭当前打开的app(设置关闭)
driver.close_app()
time.sleep(3)

# 2、判断手机是否安装qq参数为包名;如果安装,就要卸载
if driver.is_app_installed("com.tencent.mobileqq"):
driver.remove_app("com.tencent.mobileqq")

# 3、如果没有,则安装.(本地安装包的完整路径名)
else:
driver.install_app(r"C:\\Users\\ggk\\Desktop\\QQ.apk")

time.sleep(5)
# ⑤关闭APP
driver.quit()

在这里插入图片描述

四、将应用置于后台

需求:打开《设置》应用,进入后台 5 秒,再回到前台

import time
from appium import webdriver

desired_caps = dict()
# 手机参数
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1'
desired_caps['deviceName'] = '192.168.56.101:5555'
# 应用参数
desired_caps['appPackage'] = 'com.android.settings'
desired_caps['appActivity'] = '.Settings'

# 获取driver
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

print("—- 准备进入后台 —-")

# 进入后台5秒,再回到前台
driver.background_app(5)

print("—- 已经回到前台 —-")

time.sleep(5)
driver.quit()

在这里插入图片描述

五、热启动和冷启动

1、热启动:表示进入后台回到前台。

2、冷启动:关机再开这种切断电源的行为可以叫做 ”冷启动“

赞(0)
未经允许不得转载:网硕互联帮助中心 » 【UI自动化测试】6_Appium基础API _App基础操作
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!