selenium原理

Selenium2原理

webdriver是按照server–client的经典设计模式设计的: 

server端就是remote server,可以是任意的浏览器:我们的脚本启动浏览器后,该浏览器就是remote server,它的职责就是等待client发送请求并做出相应; 

client端简单说来就是我们的测试代码:比如打开浏览器,转跳到特定的url等操作是以http请求的方式发送给被server端(也就是被测浏览器)server接受请求,并执行相应操作,并在response中返回执行状态、返回值等信息;

简单介绍一下webdriver的工作原理:

启动浏览器后,selenium-webdriver会将目标浏览器绑定到特定的端口,启动后的浏览器则作为webdriver的remote server。

客户端(也就是测试脚本),借助ComandExecutor发送HTTP请求给sever端(通信协议:The WebDriver Wire Protocol,在HTTP request的body中,会以WebDriver Wire协议规定的JSON格式的字符串来告诉Selenium我们希望浏览器接下来做什么事情)。

Sever端需要依赖原生的浏览器组件,转化Web Service的命令为浏览器native的调用来完成操作。


selenium原理_第1张图片

你可能感兴趣的:(selenium原理)