Appium自动化测试框架

Appium自动化测试框架

1、Appium简介
1.1 Appium概念
Appium是一个开源的移动端自动化测试工具,适用于移动端原生APP、移动Web APP或混合APP的自动化测试;
 Appium继承了Selenium(Web端自动化测试工具),应用WebDriver(JSON wire protocol)技术,借助操作系统自带的测试框架来驱动Android和IOS应用。

特点:Appium是一个开源、跨平台、多语言支持、接口统一,适用于原生app、Web app或混合移动app的自动化测试工具;
理念:旨在满足移动端自动化测试需求;
架构:C/S (C客户端:测试脚本,S服务端:Appium);
多语言支持:语言库包含Java、Ruby、Python、php、JavaScript、C#、RobotFramework;
开源:主要依赖selenium提供的WebDriver技术;
跨平台:支持Linux/IOS mac/Windows平台,适用于Android/IOS应用测试;

术语定义
Appium一般说的是命令行操作的无界面的Web服务器
Appium GUI/Appium Desktop有图形界面:2015年之前命名为Appium Server,之后命名为Appium desktop,包含server和inspector工具
Appium Client客户端程式(测试脚本)


1.2 Appium工作原理
Appium基于web Driver协议,利用Bootstrap.jar,最后调用UIAutomator命令实现APP自动化测试。

工作原理:测试代码发送给appium server,server解析指令后调用平台的SDK(IOS:instruments;Android:uiautomator),通过SDK连接设备,并向设备发送指令和接收设备返回的数据。执行的测试脚本会转成JSON数据,通过http请求发送给Appium server,Appium server将请求转换成command,发送给平台工具SDK(IOS:instruments; Android:uiautomator) ;在设备上查找Appium推送上来的bootstrap.jar(bootstrap.jar是Appium架构放在手机端的一个服务器)来执行这些命令,执行完成后,客户端将结果和log发送回Appium server。

APPium客户端安装

运行appium-desktop-Setut.exe 默认安装即可
Appium-python 命令安装:

pip3 install appium-python-Client       

如何使用appium打开任意一个应用程序

1、打开要测试的应用

2、使用adb命令获取包名和界面名

3、修改desired_caps字典中的appPackActivity的参数

以下是一个简单的Python示 例代码,用于启动一个Android模拟器并进行基本的自动化测试。

from appium import webdriver
desired_caps = {
    #平台的名字
    'platformName': 'Android',
    #平台的版本号
    'platformVersion': '5.1',
    #设备的名字
    'deviceName': 'emulator-5554',
     #要打开的包名
    'appPackage': 'com.example.app',
     #要打开的界面
   'appActivity': '.MainActivity'}
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
driver.find_element_by_id('com.example.app:id/button').click()
time.sleep(5)
driver.quit()

1.2.2获取App的包名和界面名

#获取包名
driver.current_package
#获取界面名
driver.current_package

1.2.3关闭App和驱动对象

#关闭当前操作的App,不会关闭驱动对象
driver.close_app()
#关闭驱动对象,同时关闭所有关联的App
driver.quit()

1.2.4安装和卸载以及是否安装

#安装App
#app_path :apk路径   app_id包名
if driver.is_app_insatlled("app_id")
	#如果安装了,就是卸载
	driver.remove_app("app_id") 
else:
	#如果没有安装,就要安装
	driver install_app(app_path)
time.sleep(5)
driver.quit()

1.2.5将应用置于后台

常常应用于银行类App,进入后台一定时间后,如果再回到前台页面会重新输入密码,如果需要自动化测试这种功能,可以使用api进行测试

#second 停留多少秒
driver.background_app(seconds)

完结!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值