appium是什么工具用来做什么,appium有什么用
Appium官方介绍
Appium简介Appium是一个移动自动化框架,可以用来测试原生应用、移动web应用和混合应用,并且是跨平台的。适用于IOS、Android和firefox的操作系统。原生应用是指android或ios的sdk编写的应用,移动web应用是指web应用,类似于ios中的safari应用或Chrome应用或类似浏览器的应用。混合应用是指包装webview的应用,最初应用于web内容的交互应用。
重要的是Appium是跨平台的。什么是跨平台?这意味着可以使用一组API为不同的平台编写测试用例。
Appium的哲学Appium遵循以下原则(其实也是Appium的特点):
1.使用自动化来测试一个应用程序,但是你不需要重新编译它
2.无需学习特定语言即可编写自动化案例。
3.自动化框架不需要重复构建轮子。
4.一个自动化框架需要开源,在精神和实践上都可以实现。
Appium设计为了遵循上述原则,Appium的解决方案如下:
第1条:采用底层驱动程序提供的自动化框架。
IOS:苹果的ui自动化
Android 4.2:谷歌的UiAutomator
Android 2.3:谷歌的仪器仪表(由selendroid拍摄)
第二条:采用底层驱动提供的统一API,即WebDriver API。
WebDriver(也叫Selenium WebDriver)其实是一个C/S架构的协议,叫做JSON Wire协议。通过这个协议,用任何语言编写的客户机都可以向服务器发送HTTP请求。这意味着您可以自由选择想要使用的测试框架和执行器,也可以在代码中添加任何包含HTTP client的库文件。换句话说,Appium的WebDriver不是一个技术测试框架,而是一个自动化库。
第三条:因为WebDriver是一个非常成熟的web协议,并且已经在起草W3C标准。为什么要创造其他东西?相反,基于WebDriver,我们扩展了一些适用于移动自动化协议的API。
第四条:你之所以能读到这篇文章,是因为我们是开源的。
Appium概念C/S架构Appium的核心是一个遵循REST设计风格的web服务器。它接受客户端的连接,接收客户端的命令,在手机设备上执行命令,然后通过HTTP响应收集命令执行结果。这种架构为我们提供了很好的开放特性:只要某种语言有http客户端的api,我们就可以通过这种语言编写我们的测试代码。当然,为了您的方便,我们提供了以下客户端库:
我们也可以把服务器放在远程的地方,比如云端,这样我们就可以使用云服务来接收和分析命令。
会话的自动化过程通常在会话的上下文中执行。客户端初始化会话session。虽然不同的语言有不同的初始化方式,但它们都必须向服务器发送POST/session请求。这些请求都包含一个对象:期望的能力。此时,服务器将启动自动会话,然后返回一个会话ID,未来的命令将与该会话ID匹配。
期望的功能期望的功能这个对象实际上是一个键值的集合,它包含了所有类型的信息。在它被发送到服务器之后,服务器解析这个信息以知道客户端对哪个会话感兴趣,然后启动相应的会话。此处的信息将影响服务器端启动会话的类型。例如,如果您的platformName值是ios,您告诉服务器启动一个ios会话,而不是android会话。如果safariAllowPopups的值为true,这是一个自动会话,告诉safari类它可以用js打开一个新窗口。有关详细信息,请参见功能文档。
Appium Server Appium server使用node.js编写的http server,遵守REST风格。
测试脚本客户端客户端的概念不是我们传统意义上的客户端,这里客户端更好的理解是一个扩展韦伯河(韦伯河)协议的库,你在用自己喜欢的语言写案例(案例)的时候,将该语言扩展网络流氓的库添加到你的环境中,你就可以理解这是个客户端。具体的库可以参见下面的内容:
语言库地址ruby 339 github。com/app um/ruby _ lib python 33959 github。com/appum/python-client Java 339 github。com/appum/Java-client JavaScript(节点。js)33959 github。com/admc/wd objective c 33959 github。com/app um/selenium-objective-cphp 339 github。com/appum/PHP-client c# .(网)339 github。com/appum/appum-dot net驱动程序机器人框架339 github。com/跳跃的铃铛/robotframework-app app、appium。可执行程序的扩展名在不同的操作系统下,有不同的图形用户界面(图形用户界面)程序
系统吉吉特地址windowsappum。exe 339 github。com/appum/appum-dot-xappino。app 339 github。com/appum/appum-dot-app