Appium系列(一)认识Appium

Appium是一款开源的跨平台移动测试工具。它源于2012年Dan Cuellar在Selenium的大会上用selenium语法演示的IOS自动化。Appium与Selenium WebDriver的工作原理类似,也是根据WebDriver JSON Wire协议接受来自客户端发出的HTTP请求,之后Appium Server根据不同的平台进行不同的处理

ios应用

在理解Appium测试ios应用的工作原理之前,需要先了解两个概念:UI Automation API 和 Instruments

UI Automation,即苹果公司提供的进行UI自动化的JavaScript哭。在苹果的开发者文档中详细介绍了如何用JavaScript脚本来调用UI Automation API,从而模拟用户在IOS应用界面上的各种操作。

Instruments,它属于xcode工具套件里的一部分,是一款非常强大且灵活的性能分析和测试工具。通过Instruments可以分析ios应用的内存问题,可以测试设备某些特定的功能。

Appium正是基于对上述两者的封装来实现ios应用的自动化测试的。当我们执行测试脚本的时候,会形成json格式的HTTP请求发往appium server,appium server再将命令发送到instruments。随后,instruments向ios设备中注入bootstrap.js文件。也就是说,测试脚本对APP的每一步操作都是在已经被注入了bootstrap.js文件。也就是说测试脚对app的每一步操作都是在已经被注入了bootstrap.js文件的ios设备中执行的。而执行的自动化操作底层是苹果官方的UI automations

Android应用

Android设备自动化底层则是UI Automator。Android开发者文档对UI Automator 接口做了详细的介绍。调用UI Automator接口可以对Android设备进行各种操作

由于UI Automator框架要求Android版本为4.3或以上,即API级别为18或以上。appium针对更早的Android版本,对Selendroid框架也进行了封装。当我们执行测试脚本时候,appium会根据Android版本来决定将命令向UI Automator还是Selendroid框架接口发送。

运行在Android设备上的bootstrap.jar,与ios上的bootstrap.js作用是一样的。值得一提的是,虽然selendroid框架在这里仅被作为appium的一部分,但在某些移动app的自动化测试项目中,Selendroid框架是直接与selenium Webdrive配合使用的。这是因为尽管selendroid仅支持Android应用,社区影响也不如appium,但由于它某些方面更强大,比如selendroid可以很方便的完成屏幕亮度调整、后台运行app并恢复等操作。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值