51Testing软件测试论坛

标题: selenium 1.0和selenium 2.0区别 [打印本页]

作者: 八戒你干嘛    时间: 2019-3-21 14:29
标题: selenium 1.0和selenium 2.0区别
从自学selenium开始,就把selenium 1.0和selenium 2.0搞混淆,最近在学习selenium 2.0的,学习之后总结一下selenium 1.0和 selenium 2.0。

下面用见到的一幅图来说明Selenium 1.0:


其中:selenium RC分为:Client和Selenium Server。
client实现自动化脚本,Selenium Server负责控制浏览器行为。
Selenium Server分为3部分。


有Launcher启动浏览器,将core嵌入到浏览器,并把浏览器代理设置为selenium Server的Http Proxy。

[attach]123123[/attach]

Selenium 1.0使用的是Javascript注入技术与浏览器打交道,需要SeleniumRC启动一个Server,将操作Web元素的API调用转化为一段段Javascript,在Selenium内核启动浏览器之后注入这段Javascript。开发过Web应用的人都知道,Javascript可以获取并调用页面的任何元素,自如的进行操作。由此才实现了Selenium的目的:自动化Web操作。这种Javascript注入技术的缺点是速度不理想,而且稳定性大大依赖于Selenium内核对API翻译成的Javascript质量高低。

Selenium 2.0 则是把selenium 1.0中selenium RC替换为了WebDriver

selenium RC 在浏览器中运行JavaScript应用,使用浏览器内置的JavaScript 翻译器来翻译和执行selenese命令(selenese 是selenium命令集合)。

WebDriver利用浏览器原生的API,封装成一套更加面向对象的SeleniumWebDriverAPI,直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件,配置证书之类的)。由于使用的是浏览器原生的API,速度大大提高,而且调用的稳定性交给了浏览器厂商本身,显然是更加科学。然而带来的一些副作用就是,不同的浏览器厂商,对Web元素的操作和呈现多少会有一些差异,这就直接导致了SeleniumWebDriver要分浏览器厂商不同,而提供不同的实现。例如Firefox就有专门的FirefoxDriver,Chrome就有专门的ChromeDriver等等。(

所以,大家学习直接学习WebDriver即可。



作者: Miss_love    时间: 2020-12-30 18:02
支持分享




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2