appium

Posted yjh1995

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了appium相关的知识,希望对你有一定的参考价值。

1.原理

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

以上是关于appium的主要内容,如果未能解决你的问题,请参考以下文章

appium环境安装

appium卸载问题

appium+python+Windows自动化测试文档

appium概述,环境搭建及python3环境下案例

appium概述,环境搭建及python3环境下案例

RobotFramework自动化测试框架-移动手机自动化测试AppiumLibrary介绍