WebDriver的实现原理
webDriver 余selenium 1的JavaScript注入实现不同,它直接利用浏览器的内部接口来操作浏览器。对于不同平台的不同浏览器,必须依赖浏览器内部的Native Component来实现吧WebDriver API调用转化为浏览器内部接口的调用。
webdriver是按照server – client的经典设计模式设计的。server端就是remote server,可以是任意的浏览器。当我们的脚本启动浏览器后,该浏览器就是remote server,它的职责就是等待client发送请求并做出相应;client端简单说来就是我们的测试代码,我们测试代码中的一些行为,比如打开浏览器,转跳到特定的url等操作是以http请求的方式发送给被 测试浏览器,也就是remote server;remote server接受请求,并执行相应操作,并在response中返回执行状态、返回值等信息。
selenium 1采用JavaScript的合成事件来处理页面元素的操作,比如要单击某个页面元素,要先使用JavaScript定位到这个元素,然后触发单击事件。而WebDriver使用的是系统的内部接口或函数,首先要找到这个元素的坐标位置,并在这个坐标点触发一个鼠标左键的单击操作。因此,WebDriver能更好地模拟真实的环境,仅能测试那些可见的页面元素。而某些隐藏的页面元素则可以使用selenium 1进行操作,WebDriver无法实现。
WebDriver的安装配置(基于Java)
具体配置步骤如下:
1、安装JDK,配置JAVA环境变量。
2、下载安装Eclipse安装文件&#