作者:empty 页数:772 出版社:empty |
Appium介绍Appium是一个自动化开源工具, 支持iOS、Android和Windows桌面平台上的原生、移动Web和混合应用的自动化, **「原生应用] 指那些用iOS、Android或者Windows SDKs编写的应用.「移动Web应用」是用移动端浏览器访问的应用(Appium支持iOS上的Safari、Chrome和Android上的内置浏览器) .「混合应用」**带有一个「web view」的包装器——用来和Web内容交互的原生控件。类似于Apache Cordova或Phone gap项目, 创建一个混合应用使得用Web技术开发然后打包进原生包装器创建一个混合应用变得容易了。
重要的是, Appium是跨平台的:它允许你用同样的API对多平台(iOS、Android、Windows) 写测试, 做到在iOS、Android和Windows识试套件之间复用代码。了解Appium“支持”这些平台意味着什么、有哪些自动化方式的详细信息, 请参见Appium支持的平台,Appium的理念Appium旨在满足移动端自动化需求的理念, 概述为以下四个原则:1你不应该为了自动化而重新编译你的应用或以任何方式修改它.2.你不应该被限制在特定的语言或框架上来编写运行测试,3.移动端自动化框架不应该在自动化接方面重造轮子.4.移动端自动化框架应该开源,在精神、实践以及名义上都该如此,Appium的设计那么Appium项目的架构是如何实现这些理念的呢?为了实现理念#1, 我们使用了系统自带的自动化框架.这样, 我们不需要把Appium特定的或者第三方的代码编译进你的应用, 这意味着你测试使用的应用与最终发布的应用并无二致。我们使用以下系统自带的自动化框架:·iOS 9.3及以上:苹果的X CUI Test·iOS 9.3及以下:苹果的UI Automation·Android 4.3+:谷歌的Ui Automator/Ui Automator 2·Windows:微软的WinApp Driver为了实现理念#2, 我们把这些系统本身提供的框架包装进一套API——Web Driver API中, Web Driver(也叫「Selenium Web Driver」) 规定了一个客户端-服务器协议(称为JSON Wire Protocol) , 按照这种客户端-服务器架构, 可以使用任何语言编写的客户端向服务器发送适当的HTTP请求。已经有为各个流行编程语言编写的客户端,这也意味着你可以自由使用任何你想用的的测试运行器和测试框架;客户端程序库不过是一个简单的HTTP客户端, 可以以任何你喜欢的方式混入你的代码。换句话说, Appium&Web Dr ver客户端在技术上而言