博观而约取,厚积而薄发。这篇文章主要讲述appium入门级教程—— appium介绍相关的知识,希望能为你提供帮助。
appium介绍
官方网站与介绍
1、特点appium 是一个自动化测试开源工具,支持 ios 平台和 android 平台上的原生应用,web应用和混合应用。
- “
移动原生应用”
是指那些用iOS或者 Android SDK 写的应用(Application简称app)。
- “
移动web应用”
是指使用移动浏览器访问的应用(appium支持iOS上的Safari和Android上的 Chrome)。
- “
混合应用”
是指原生代码封装网页视图—
—
原生代码和 web 内容交互。比如,像
Phonegap,可以帮助开发者使用网页技术开发应用,然后用原生代码封装,这些就是混合应用。
2、appium与Seleniumappium类库封装了标准Selenium客户端类库,为用户提供所有常见的JSON格式selenium命令以及额外的移动设备控制相关的命令,如多点触控手势和屏幕朝向。
appium客户端类库实现了Mobile JSON Wire Protocol(一个标准协议的官方扩展草稿)和W3C WebDriver spec(一个传输不可预知的自动化协议,该协议定义了MultiAction 接口)的元素。
appium服务端定义了官方协议的扩展,为appium 用户提供了方便的接口来执行各种设备动作,例如在测试过程中安装/卸载App。这就是为什么我们需要appium特定的客户端,而不是通用的Selenium 客户端。当然,appium 客户端类库只是增加了一些功能,而实际上这些功能就是简单的扩展了Selenium 客户端,所以他们仍然可以用来运行通用的Selenium会话。
3、支持多平台、多语言appium是跨平台的,可以用在OSX,Windows以及Linux桌面系统上运行。
appium选择了Client/Server的设计模式。只要client能够发送http请求给server,那么的话client用什么语言来实现都是可以的,这就是appium及Selenium(WebDriver)如何做到支持多语言的原因;
appium扩展了WebDriver的协议,没有自己重新去实现一套。这样的好处是以前的WebDriver API能够直接被继承过来,以前的Selenium(WebDriver)各种语言的binding都可以拿来就用,省去了为每种语言开发一个client的工作量;
语言/框架 | Github地址 |
---|---|
Ruby | https://github.com/appium/ruby_lib |
python | https://github.com/appium/python-client |
java | https://github.com/appium/java-client |
javascript (Node.js) | https://github.com/admc/wd |
Objective C | https://github.com/appium/selenium-objective-c |
php | https://github.com/appium/php-client |
C# (.NET) | https://github.com/appium/appium-dotnet-driver |
RobotFramework | https://github.com/jollychang/robotframework-appiumlibrary |
文章图片
通过上面一张图简单展示了appium的工具原理。
首先,appium支持多语言,因为它针对流的几种语言分别开发的相应的appium库。好处就是我们可以选择自己熟悉的语言编写appium脚本。
其次,appium支持多平台,包括MAC和Windows。它针对这两大平台开发了appium-Server。
最后,appium又同时支持Android 和 iOS两个操作系统。
这就使得appium变得非常灵活。
当我在MAC平台上,通过Python(python-client )编写了一个appium自动化脚本并执行,请求会首先到 appium.dum (MAC下的appium-Server),appium-Server通过解析,驱动iOS设备来执行appium自动化脚本。
或者,我在Windows平台上,通过Java( java-client )编写了一个appium自动化脚本并执行,请求会首先到 appiumForWindow.zip(Window下的appium-Server),appium-Server通过解析,驱动Android虚拟机或真机来执行appium脚本。
所以,你会看到appium的强大之处就在于此。
5、需要安装什么?这才是你最关心的问题,使用appium都需要安装些什么?其实,从appium工作原理你就应该知道需要装什么了。
- 编程语言
想用 Java 的同学,点这里
- appium client
- appium Server
- 测试运行环境
【appium入门级教程—— appium介绍】文章来自:虫师 http://www.testclass.net/appium/appium-base-summary/
推荐阅读
- appium入门级教程—— 安装Appium-Server
- android studio使用tip
- android学习遇到的问题1
- for 循环的时候 append() 是移动不是复制
- 第三节MapStruct翻译--Defining a mapper
- 10.8 android输入系统_实战_使用GlobalKey一键启动程序
- Android之AAPT2 error: check logs for details
- Android开发学习——UI篇1.0
- 10.6 android输入系统_Dispatcher线程_总体框架