美文网首页
appium工作原理

appium工作原理

作者: hellokitty小丸子 | 来源:发表于2018-12-04 17:16 被阅读0次

        前段时间在做appium自动化的工作,也进行了一些实践,现在实践告一段落,是时候了解一下工作原理了,好为以后的进阶做铺垫。众所周知,appium即可以用作android也可以用于iOS做自动化测试,这篇文章先总结一下安卓,下一篇来总结iOS,然后再深入总结每个环节,由浅入深......

Appium工作原理- Android:

整体流程图

1、 Appium Client:

在这client其实就是发起command的设备,一般就是执行appium测试代码的机器。狭义点理解,可以把client理解成是代码,这些代码可以是java/ruby/python/js的,只要它实现了webdriver标准协议就可以。

2、 Client与Server交互:

webdriver是基于http协议的,第一连接会建立一个session会话,并通过post发送一个json告知server相关测试信息。server接收web driver client标准rest请求。

(1)  session会话:

session就是一个会话,在webdriver/appium,你的所有工作永远都是在session start后才可以进行的。通过POST /session这个URL,然后传入Desired Capabilities就可以开启session了。

开启session后,会返回一个全局唯一的session id,以后几乎所有的请求都必须带上这个session id,因为这个seesion id代表了你所打开的移动设备。

(2)  Desired Capabilities:

webdriver标准协议,以json格式发送测试设备信息给server端,而这些信息被携带在Desired Capabilities中,这个东西实质上是一个key-value形式的对象:

Desired Capabilities最重要的作用是告诉server本次测试的上下文。这次是要进行浏览器测试还是移动端测试?如果是移动端测试的话是android还是ios?如果android的话我们要测试哪个app?server的这些疑问Desired Capabilities都必须给予解答,否则server不买账。

针对我们现在所说的安卓,它带来的影响就是无法完成app的启动。

3、Appium Server:

Appium server就是在命令行用appium命令打开的东西,默认监听4723端口。Appium server可以把请求接收并转义转发给中间件Bootstrap.jar(它是用java写的,安装在手机上)。

Bootstrap 接收appium的命令最终通过调用UiAutomator的命令来实现对手机的操作,最后执行的结果以Json Wire Protocol,由Bootstrap返回给appium server,再返回给Client端,Client会汇总操作结果。

3、 Bootstrap.jar

 Bootstrap可以理解为它是一个uiautomator的测试脚本,它的入口类Bootstrap继承于UiAutomatorTestCase,所以UiAututomator可以正常运行它,它也可以正常的使用uiautomator的方法,这个就是appium的命令可以转换成uiautomator的命令的关键。

其次,它是一个socket服务器,它专门监听4724端口过来的appium的连接和命令数据,并把appium的命令转换成uiautomator的命令来让uiautomator进行处理。

最后,它处理的是appium从pc端过来的命令,是一系列的请求。

相关文章

  • appium工作原理

    appium由appium客户端、appium服务器和bootstrap.jar组成的。appium客户端就是我...

  • appium工作原理

    前段时间在做appium自动化的工作,也进行了一些实践,现在实践告一段落,是时候了解一下工作原理了,好为以...

  • Appium工作原理

    appium简介: Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持...

  • Appium工作原理

    一.Appium框架组成 Appium框架组成是自动化脚本即client端(通过Java编写的代码,也可以通过其他...

  • Android使用Appium进行自动化测试

    Appium的介绍和工作原理暂且不说,本篇只为说明Appium的简单使用方法(mac版本)。 1、Appium的下...

  • 使用Appium爬取淘宝App数据

    0x01、介绍说明 1、简介 2、Appium工作原理 Appium选择了Client/Server的设计模式,S...

  • Appium的工作原理

    1.Appium client,通过调用webdriver 或android driver提供的api编写测试用例...

  • Appium简介及工作原理

    Appium是一个开源、跨平台的框架,它适用于Native应用、移动应用、Hybird(混合)应用。Native应...

  • Appium介绍

    1.架构原理 Appium架构由客户端(Appium client)和服务器(Appium server)两部分组...

  • Appium 环境搭建

    2.1 安装 Appium Python Client 包 根据原理图,我们测试程序需要调用 Appium Pyt...

网友评论

      本文标题:appium工作原理

      本文链接:https://www.haomeiwen.com/subject/lecafqtx.html