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

  • 相关阅读:
    SPI总线介绍
    linuxok6410的I2C驱动分析---用户态驱动
    Centos下安装Mongodb
    python学习笔记(二):python数据类型
    python学习笔记(三):文件操作和集合
    python实现显示安装进度条
    python判断一个字符串是否是小数
    python学习笔记(四):函数
    python学习笔记(五):装饰器、生成器、内置函数、json
    python学习笔记(七):面向对象编程、类
  • 原文地址:https://www.cnblogs.com/yjh1995/p/11659959.html
Copyright © 2011-2022 走看看