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

  • 相关阅读:
    base64 web前端js解码与转码
    react常见组件问题Can't perform a React state update on an unmounted component
    Git详细的多人开发心得
    数组中filter方法配合字符串方法trim使用
    Ant Design实现表格搜索、分页、多选处理
    Ant Design中日期选择器的disabledDate用法
    react学习资源汇总
    react开发项目到上线全过程详解
    MySQL-5.6.30-linux-glibc2.5-x86_64.tar.gz 安装教程
    linux下配置mysql主从复制配置
  • 原文地址:https://www.cnblogs.com/cuitang/p/11633804.html
Copyright © 2011-2022 走看看