appnium介绍

为什么选择Appium
Appium是一个自动化测试开源工具,支持iOS和android平台上的移动原生应用、移动Web应用和混合应用。Appium是一个跨平台工具,它允许测试人员使用同样的接口、基于不同的平台写自动化测试代码,大大增加了测试套件间代码的复用性。

  • 移动原生应用:是指那些用iOS或者android sdk写的应用;
  • 移动web应用:是指那些使用移动浏览器访问的应用,appium支持iOS的safari和android上的chrome;
  • 混合应用:是指原生代码封装在网页视图(原生代码和web内容交互)。

Appium的理念
无需为了自动化,而重新编译或者修改我们的应用;
不必局限于某种语言或者框架来写和运行测试脚本;
一个移动自动化的框架不应该在接口上重复造轮子;
无论精神上,还是名义上,都必须要开源。
Appium的设计
Appium的真正的工作引擎是第三方自动化框架,不需要在本身应用里植入appium特定或者第三方代码。
iOS:苹果的UI Automator框架
Android 4.2+:Google的UI Automator框架
Android 2.3+:Google的UI Instrumentation框架
Appium把这些第三方框架封装成一套API,即WebDriver API。
Appium扩充了WebDriver的协议,在原有的基础上添加自动化相关的API方法。
Appium的相关概念
C/S架构
Appium的核心是一个Web服务器,它提供了一套REST的接口。它接收到客户端的连接、监听的命令,接着在移动设备上执行这些命令,然后将执行的结果放在HTTP响应中返还给客户端。
Session
自动化总是在一个session的上下文中运行,客户端初始化一个和服务端交互的session。客户端发送一个附有desired capabilities的JSON对象参数的POST请求“/session”给服务器,服务端就会开始一个自动话的session,然后返回一个session ID,客户端拿到这个ID后就用这个ID发送后续的命令。
Desired Capabilities
Desired Capabilities是一些键值对。客户端将这些键值对发给服务端,告诉服务端我们想要启动怎样的自动化session。
Appium server
Appium server是用nodejs写的,我们可以源码编译或者从NPM直接安装。
Appium服务端
Appium服务端有很多语言库Java,Ruby,Python,PHP,JavaScript,C#等,这些库实现了对WebDriver协议的扩展。使用Appium的时候,只需使用这些库代替常规的WebDriver库就可以了。
Appium.app,Appium.exe
Appium提供了GUI封装的Appium server下载,它封装了运行Appium server的所有依赖元素。而且这个封装包含了一个Inspector工具,可以让使用者检查应用的界面元素层级。
Appium的环境部署
详细查看Appium-安装篇,Appium-Android开发环境。
提示:Appium Android系统运行要求:Java 7及以后版本,Android SDK API17以上版本,Android虚拟设备或者真实手机设备。

作者:zytthappy
来源:CSDN
原文:https://blog.csdn.net/zytthappy/article/details/79686354
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(appnium)