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或者是浏览器的启动

  • 相关阅读:
    the selected directory is not a TomEE home
    java 获取当前年份 月份,当月第一天和最后一天
    java jwt工具类,生成和解析token
    Thymeleaf嵌套循环,每次循环显示固定数量
    oracle 非正常关机 错误1033解决办法
    webService简单记录
    好用的json工具
    org.apache.ws.commons.schema.XmlSchemaForm.getValue()Ljava/lang/String;
    webservice获取ip地址
    JSP(一)
  • 原文地址:https://www.cnblogs.com/yjh1995/p/11659959.html
Copyright © 2011-2022 走看看