zoukankan      html  css  js  c++  java
  • Appium工作原理

    前言:

    之前做APP自动化,使用appium框架时,有理清楚过android的工作流程和原理,找了一遍,发现没记录到博客,所以写下一篇appium工作原理来记录。

    目前Appium框架可以时支持android 和 ios 两个操作系统的App自动化测试

    一、appium-Android工作流

    在Android端,appium基于WebDriver协议,利用Bootstrap.jar,最后通过调⽤用UiAutomator的命令,实现App的自动化测试

    具体的步骤:

    1.客户端是我们写的webdriver测试脚本。
    2.中间是Appium的服务,Appium在服务端启动一个Server(4723端口),跟selenium Webdriver测试框架类似, Appium⽀持标准的WebDriver JSONWireProtocol。在这里提供它提供了一套REST的接口,Appium Server接收web driver client标准rest请求,解析请求内容,调⽤用对应的框架响应操作。
    3.appium server会把请求转发给中间件Bootstrap.jar ,它是用java写的,安装在手机上.Bootstrap监听4724端口并接收appium 的命令,最终通过调⽤用UiAutomator的命令来实现。
    4.最后Bootstrap将执行的结果返回给appium server
    5.appium server再将结果返回给 appium client

    二、appium-iOS工作流

    在iOS端,appium同样使⽤WebDriver的一套协议。与Android端测试框架不同的是appium ios封装了apple的 Instruments框架,主要用了Instrument的UIAutomation(Apple的自动化测试框架),然后在设备中注入bootstrap.js进行监听。

    1.客户端是我们写的webdriver测试脚本。
    2.中间是Appium的服务,Appium在服务端启动一个Server(4723端口),跟selenium Webdriver测试框架类似, Appium⽀持标准的WebDriver JSONWireProtocol。在这里提供它提供了一套REST的接口,Appium Server接收web driver client标准rest请求,解析请求内容,调⽤用对应的框架响应操作。
    3.appium server调用instruments.js 启动⼀一个socket server,同时分出一个⼦子进程运⾏instruments.app,将bootstrap.js(UIAutomation脚本)注⼊入到device⽤于和外界进行交互。
    4.最后Bootstrap.js将执行的结果返回给appium server。
    5.appium server再将结果返回给 appium client。

    参考原文:https://www.cnblogs.com/oscarforever/p/10721878.html

  • 相关阅读:
    CSUFT 1002 Robot Navigation
    CSUFT 1003 All Your Base
    Uva 1599 最佳路径
    Uva 10129 单词
    欧拉回路
    Uva 10305 给任务排序
    uva 816 Abbott的复仇
    Uva 1103 古代象形文字
    Uva 10118 免费糖果
    Uva 725 除法
  • 原文地址:https://www.cnblogs.com/cuitang/p/11633804.html
Copyright © 2011-2022 走看看