深圳专业英文网站建设,seo排名工具外包,php网页设计实例代码,网站建设硬件Selenium 经历了两个版本#xff0c;Selenium 1.0 和 Selenium 2.0#xff0c;本文仅介绍Selenium2的原理#xff0c;在Selenium 2.0 主推的是WebDriver,Selenium2又名Selenium Webdriver。 Selenium2简介 Selenium是一个用于Web应用程序测试的工具#xff0c;支持多平台、…Selenium 经历了两个版本Selenium 1.0 和 Selenium 2.0本文仅介绍Selenium2的原理在Selenium 2.0 主推的是WebDriver,Selenium2又名Selenium Webdriver。 Selenium2简介 Selenium是一个用于Web应用程序测试的工具支持多平台、多浏览器、多语言去实现自动化测试Selenium2将浏览器原生的API封装成WebDriver API可以直接操作浏览器页面里的元素甚至操作浏览器本身截屏窗口大小启动关闭安装插件配置证书之类的,所以就像真正的用户在操作一样。 Webdriver的一个简单的架构图如下图所示 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的调用来完成操作。注 the WebDriver Wire Protocol是Selenium自己设计定义的协议这套协议非常之强大几乎可以操作浏览器做任何事情包括打开、关闭、最大化、最小化、元素定位、元素点击、上传文件等。 WebDriver Wire协议是通用的也就是说不管FirefoxDriver还是ChromeDriver启动之后都会在某一个端口启动基于这套协议的Web Service。 例如FirefoxDriver初始化成功默认从http://localhost:7055开始IE则是http://localhost:52432如下图截图 转载于:https://www.cnblogs.com/william126/p/10889196.html