①Appium概要梳理

appium在android端的工作模式:

appium的核心其实是一个暴露了一系列REST API的server。

重点理解:

这个server的功能其实很简单:监听一个端口,然后接收由client发送来的command。翻译这些command,把这些command转成移动设备可以理解的形式发送给移动设备,然后移动设备执行完这些command后把执行结果返回给appium server,appium server再把执行结果返回给client。
(在这里client其实就是发起command的设备,一般来说就是我们代码执行的机器,执行appium测试代码的机器。狭义点理解,可以把client理解成是代码,这些代码可以是java/ruby/python/js的,只要它实现了webdriver标准协议就可以。)</br>

架构图
架构图.png
简易图:
简易图.png

在Android端,appium基于WebDriver,并利用Bootstrap.js,最后通过调⽤用UiAutomator的命
令,实现App的自动化测试。UiAutomator测试框架是Android SDK⾃自带的App UI自动化测
试Java库。
另外由于UiAutomator对H5的⽀支持有限,appium引入了chromedriver来实现基于H5的自动
化。

主要原理:

1、左边的WebDriver script是我们的selenium测试脚本
2、中间是起的Appium的服务,Appium在这边起了一个Server(4723端口),跟selenium
Webdriver测试框架类似,Appium⽀支持标准的WebDriver JSONWireProtocol 。在这里提供
了一套web服务,Appium Server接收web driver 标准请求,解析请求内容,调⽤用对应的框
架响应操作。
如:脚本发送一个点击按钮的请求给appium server,
3、 appium server会把请求转发给中间件Bootstrap.jar ,它是用java写的,安装在手机上.
Bootstrap 接收appium 的命令(4724端口),最终通过调⽤用UiAutomator的命令来实现。
4、最后执⾏行的结果由Bootstrap返回给appium server
5、另外,appium还用到了chromedriver来⽀支持基于H5(webview)的测试。

appium局限性

如果你在windows上安装appium,你没法使用预编译用于OS X的.app文件,你也将不能测试iOS apps,因为appium依赖OS X专用的库来支持iOS测试。这意味着你只能通过在mac上来运行iOS的app测试。这点限制挺大。
也就是说,在Windows下我们只能测试android,没法测试iOS系统。

appium运行组件
  • Nodejs
  • Java JDK
  • Android SDK
  • Eclipse
  • Appium

接下来会更新,具体的环境搭建过程。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,815评论 25 709
  • 前言 要想深入地掌握任何一门测试工具,对工具本身的架构、原理、使用的协议及相关知识点都必须要有相关的了解和认识,才...
    0xAI阅读 10,226评论 3 55
  • 一直用的是Appium,最近在研究WebDriverAgent,对二者之间的区别和联系有了更深的认知,Appium...
    七月尾巴_葵花阅读 12,768评论 0 14
  • Appium是一个自动化测试开源工具,支持iOS平台和Android平台上的原生应用,web应用和混合应用。App...
    sunnyaxin阅读 8,162评论 0 5
  • 我第一次听汪峰的作品是《爱是一颗幸福的子弹》,这个距离“鲍家街43号”解散已经过去了2年,这个曾经以自己母校命名...
    路人甲的配角阅读 3,003评论 1 2