Node.jsAppium基础1:Appium概念

1.Appium介绍:

Appium是1款开源跨平台(IOS和Android平台)帮忙二种付出语言(java、python等)实行测试Native/Web/Hybrid的Android/iOS
Application的自动化测试框架,接纳web driver
协议。Native(移动原生应用)指的是那么些用iOS SDK可能Android SDK
写的行使;Web(移动web应用)指的是应用移动浏览器访问的采用(Appium帮忙iOS上的
Safari和Android上的Chrome);Hybrid(混合使用)指的是原生代码封装网页视图——原生代码和
web
内容相互。比如,像TaobaoAPP,可以帮忙开发者使用网页技术开发应用,然后用原生代码封装,这一个就是混合使用,其它Appium不但支持模拟器而且帮忙真机测试。

二.Appium设计思想:

   贰.1不要求为了自动化而且再也编译或改动测试app;

   二.二 你不必局限于某种语言依然框架只怕平台来书写和平运动作测试代码;

   贰.三十七个运动自动化的框架不应有在接口上再也造轮子。(移动自动化的接口应该联合);

2.四 源代码必须开源;

3.Appium名词:

  ·C/S 架构

Appium 的中坚是贰个 web
服务器,它提供了一套REST的接口。它接受客户端的连日,监听到命令,接着在移动装备上实施那几个命令,然后将实施结果放在HTTP响应中返还给客户端。

·Session

自动化始终围绕一个session进行,客户端初步化3个seesion(会话)来与服务端交互,区别的语言有分歧的兑现情势,但是她们最终都以出殡和埋葬为贰个POST请求给服务端,请求中蕴藏八个JSON对象,被称作“desired
capabilities”。此时,服务器客户端就会打开三个自动化的
session,然后回到一个 session ID,session ID将会被用户发送后续的一声令下。

·Desired Capabilities

Desired capabilities 是部分键值对的集合
(比如,一个map只怕hash),客户端将这一个键值对发给服务端,告诉服务端大家想要怎么测试。比如,大家得以把platformName
capability 设置为 iOS,告诉 Appium 服务端,大家想要三个iOS
的session,而不是3个 Android 的。Capabilities在继承章节中还会讲课到。

·Appium Server

Appium server 是用 Node.js 写的。我们能够用源码编写翻译或然从 NPM 直接设置。

·Appium 服务端

Appium 服务端有众多言语库 Java, Ruby, Python, PHP, JavaScript 和
C#,那几个库都完毕了 Appium 对 WebDriver 协议的扩展。当使用 Appium
的时候,你只需选拔那么些库代替常规的 WebDriver 库就能够了。

·Appium.dmg, Appium.exe

我们提供了 GUI 封装的 Appium 服务端下载,它包裹了运转Appium服务端的全体信赖,而不需求操心如何设置Node.js。在那之中还包含一个Inspector工具(MAC机上才能用),可以扶助您检查选拔的界面层级,那样写测试用例时更方便。

4.Selenium JSON协议

Selenium
JSON协议(JSONWP)是多个传输方法,它是由WebDriver开发者开发的,这一个协议是一组特定的预约义和原则的端点,它经过RESTful
API(接口测试相关)去表现。WebDriver和JSONWP的目标就是为着通过浏览器(chrome、firefox和IE)去测试web站点,应用程式IUM继承了活动JSONWP协议,扩张了Selenium
JSON协议,它能够决定区别的移位装备的一颦一笑,比如通过session安装和卸载应用程式。

让我们来看几组端点:

·/session/:sessionId  – session的ID唯一标识符

·/session/:sessionId/element – 找3个成分

·/session/:sessionId/elements – 找一组成分

APPIUM在底部便是通过那些session来相互传递音讯的。