码迷,mamicode.com
首页 > 移动开发 > 详细

【Android测试】【第十四节】Appium——简述

时间:2018-04-17 22:15:28      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:web项目   bubuko   linu   targe   地址   ref   android   安装   自带   

前言


  同样的,这一篇我要介绍的也是一款UI自动化工具,地址:http://appium.io/  

  第三方(非谷歌)研发的开源测试工具,说到这里也许有人会问 “为什么已经介绍了Uiautomator还要介绍它呢?”,我们就说说Appium有哪些不一样的地方:

    1、appium可以测试原生的、混合的、或者是移动端的web项目;

    2、appium不仅支持测试Android应用,还可以测试ios;

    3、appium跨平台,可以运行在Windows或者Linux上;

    4、appium支持多种语言,你可以用你自己熟悉的语言,如java、ruby、python等来完成你的脚本。

  它的底层架构是:

            技术分享图片

 

  网上找了两段解释,说的应该比较清楚:

    一、Appium采用底层驱动商提供统一API,就是WebDriver API。

    WebDriver(也称Selenium WebDriver)其实是一个C/S架构的协议,叫做JSON Wire Protocol。通过这个协议,用任何语言写成的客户端都可以发送HTTP请求给服务器。这就意味着你可以自由选择你想要使用的测试框架和执行器,也可以将任何包含HTTP客户端的库文件加入到你的代码中。换句话说,Appium的WebDriver不是一个技术上的测试框架,而是一个自动化库。

    二、在Android端,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端口),跟seleniumWebdriver测试框架类似,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)的测试。

 

  了解完基本的一些之后,就可以环境搭建了。

【Android测试】【第十四节】Appium——简述

标签:web项目   bubuko   linu   targe   地址   ref   android   安装   自带   

原文地址:https://www.cnblogs.com/ht22ht22/p/8870160.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!