移动自动化测试-Appium基础操作API

Appium自动化测试框架

学习目标:

1.能够安装Appium桌面客户端
2.能够安装Appium-python库

Appium介绍:

Appium是一个移动端的自动化测试框架,可用于测试原生应用,移动网页应用和混合型应用,且是垮平台的,可用于Android和IOS操作系统。
重要的是Appium是跨平台的,可以针对不同的平台用一套api来编写脚本

Appium自动化测试环境搭建:

1.Appium桌面客户端安装方式
2.Appium-python库安装

Hello Appium
学习目标:

​ 1.能够使用appium启动任意应用程序
​ 2.能够了解"前置代码"中各项参数的含义

一、快速体验
应用场景:

在做app自动化的时候,我们肯定是针对某个产品。某个软件进行测试,那么我们一定是先让模拟器或真机帮我们打开着款软件才可以,所以下来要学的就是如何打开某浩哥应用程序。

需求:

使用一下步骤打开模拟器中的《设置》应用程序:

​ 1.打开手机模拟器
​ 2.打开Appium
​ 3.创建一个python项目,取名为hello_appium
​ 4.创建一个demo.py文件
​ 5.将一下代码直接复制,并运行

from appium import webdriver
import time

desired_caps = dict()
#平台的名字,大小写无所谓,不能乱写
desired_caps['platformName'] = 'Android'
#平台的版本(5.4.3可以写5.4.3,5.4,5都是可以的)
desired_caps['platformVersion'] = '5.1'
#设备的名字,对于安卓来说可以随便写,IOS要和设备一致
desired_caps['deviceName'] = '127.0.0.1:62001'
#要打开的应用程序
desired_caps['appPackage'] = 'com.android.settings'
#要打开的界面
desired_caps['appActivity'] = '.Settings'

#连接appium服务
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

time.sleep(5)
driver.quit()
二、参数详解
应用场景:

更改配置信息

Appium基础操作API
1.1 在脚本内启动其他app
应用场景:

如果一个应用需要跳转到另一个应用,就可以使用这个api进行应用的跳转,就像我们通过外卖应用下订单后会跳转到支付应用一样

方法和参数:
#脚本内启动其他app
#参数
#	appPackage:要打开的程序包名
#	appActivity:要打开的程序的界面名
driver.start_activity(appPackage,appActivity)
1.2 获取app的包名和界面名
应用场景:

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

属性名:
#获取包名
driver.current_package
#获取界面名
driver.current_activity
示例

打开《设置》应用程序输出当前的包名和界面名

from appium import webdriver
import time

desired_caps = dict()
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1'
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)

time.sleep(5)

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

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

driver.quit()
1.3 关闭app和驱动对象
应用场景:

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

方法名:
#关闭当前操作的app,不会关闭驱动对象
driver.close_app()
#关闭驱动对象,同时关闭所有关联的app
driver.quit()
示例:

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

from appium import webdriver
import time

desired_caps = dict()
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1'
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)

time.sleep(3)

#关闭应用程序
driver.close_app()

# 关闭驱动对象
driver.quit()
1.4 安卓和卸载以及是否安装app
应用场景:

一些应用市场的软件可能会有一个按钮,如果某一个程序已经安装则卸载,如果没有安装则安装

方法名:
#安装app
#参数:
#	app_path:apk路径
driver.install_app(app_path)

#卸载app
#参数
#	app_id:应用程序包名
driver.remove_app(app_id)

#判断app是否已经安装
#参数:
#	app_id:应用程序包名
#返回值:
#布尔类型,True为安装,False为没有安装
driver.is_app_installed(app_id)
示例:

如果《慕课网》已经安装,则卸载,如果没有则安装

from appium import webdriver
import time

desired_caps = dict()
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1'
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)

time.sleep(3)

if driver.is_app_installed('cn.com.open.mooc'):
    driver.remove_app('cn.com.open.mooc')
else:
    driver.install_app("C:\\Users\\admin\\Desktop\\william\\imooc7.3.710102001android.apk")
    time.sleep(5)


1.5 将应用置于后台
应用场景;

银行类app会在进入后台一定时间后,如果再回到前台页面,会重新输入密码,如果要测试这种功能,可以使用这个api进行测试

方法
#app放置到后台一定时间后再回到前台,模拟热启动
#参数:
#	seconds:后台停留多少秒
driver.background_app(seconds)
示例

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

from appium import webdriver
import time

desired_caps = dict()
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1'
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)

time.sleep(3)

driver.background_app(5)

time.sleep(3)

注意点:

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值