移动测试Appium工作原理
Appium是一个开源工具,用于自动化iOS、Android设备和Windows桌面平台上的原生、移动Web和混合应用。
"原生应用"指那些用iOS、Android或者WindowsSDK编写的应用。
"移动web应用"是用移动端浏览器访问的应用(Appium支持iOS上的Safari、Chrome和Android上的内置浏览器)。
"混合应用"带有一个"webview"的包装器——用来和Web内容交互的原生控件。
重要的是:Appium是跨平台的:它允许你用同样的API对多平台写测试,做到在iOS、Android和Windows测试套件之间复用代码。
Appium是基于nodejs的HTTP服务器,用于创建和处理基JSON wire protocol协议的多webdriver会话,支持IOS和android平台。
以下为Appium架构中关键词:
会话(session):标识Appium客户端和Appium服务器端惟一交互
Desired Capabilities:用于告诉Appium服务端要启动一个什么类型的自动化测试会话
Appium服务器:基于nodejs写的HTTP服务器,实现了对JSON wire protocol的处理
Appium客户端:支持多语言(python、ruby、java、php、javascript、C#)API,提供给测试或开发人员编写appium自动化测试脚本,另外还提供了Inspector用于查看APP的层级结构,便于分析APP的UI结构
下面我们通过一张图来看下IOS端APPIUM全过程工作原理:
下面我们通过一张图来看下android端APPIUM全过程工作原理:
在对appium python client的源码做了一些分析分享后,感觉有必要把appium的工作原理给理理,所以才有了这篇短文,主要引导思路,需要大家进一步去思考和研究其技术细节以增强对整个原理的理解。