zoukankan      html  css  js  c++  java
  • appium(一)原理

    adb 是一个C/S架构的命令行工具

    (1)appium

    API调用selenium的接口,基于webdriver协议添加对移动设备自动化API扩展而成的,Java/Python代码作为client

    webdriver是基于http协议的,第一次连接会建立一个session会话,并post一个json告知服务器相关测试信息

    (2)appium-desktop

    appium-server的桌面版,appium-server是用node js写的,接受client发来的命令并翻译成移动端可以理解的形式,移动端执行完命令后将结果返回给appium-server,appium-server再将结果返回给client

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

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

    进一步思考一下,由于session id是全局唯一,那么在同一台机器上启动多个session就变成了可能,这也就是selenium gird所依赖的具体理论根据

    (4)Desired Capabilities

    Desired Capabilities携带了一些配置信息。从本质上讲,这个就是key-value形式的对象。实际上Desired Capabilities在传输时就是json对象

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

  • 相关阅读:
    We7网站群系统中标胜利油田项目 开源CMS
    We7荣获“政府网站群建设最佳产品奖” 开源CMS
    JAVA中 成员变量和和实例变量区别 前行
    HTTPS 加密原理探究 前行
    zip mysql安装启动方式 前行
    如何获取监听iframe src属性的变化进行后续操作 前行
    js分割url提取参数 前行
    web跨域问题解决方案 前行
    作业3.18
    3.26作业
  • 原文地址:https://www.cnblogs.com/yjh1995/p/11659959.html
Copyright © 2011-2022 走看看