Selenium 1即我们所熟知的Selenium RC。其已经为众多的测试机构和部门服役了多年并贡献卓越。Selenium RC的典型使用方式如下:
1)测试人员基于客户端驱动所提供的API来编写测试用例脚本。
2)测试程序打开浏览器,此时Selenium RC Server绑定Selenium Core并自动将它嵌入到浏览器中。Selenium Core实际上是一系列JavaScript函数,它们使用浏览器内置的JavaS-cript翻译器来翻译和执行Selense Command。
3)客户端驱动持续执行测试用例脚本并发送特定的命令到Selenium RC Server。这些特定的命令即Selense Command。
4)Selenium RC Server解释Selense Command,并触发Selenium Core执行对应的JavaS-cript代码来完成相应操作。(www.daowen.com)
5)浏览器上所有的请求和响应都通过Selenium RC的HTTP代理与实际的Web应用服务器进行交互,并且Selenium RC一旦收到响应就将页面传递给浏览器。但它会篡改源,使得页面看上去好像来自于与Selenium Core同源的服务器(这样Selenium Core就遵循了同源规则)。
6)浏览器接收到Web页面后,便在框架或者窗口中展示页面。
但毕竟事物都有更新换代的阶段,Selenium 1也不例外。正所谓老树发新芽,Selenium2就是从Selenium 1这棵历史老树上发出的新芽。截至目前,Selenium 1还继续被维护并提供一些Selenium 2尚不支持的功能,如某些编程语言的支持和某些浏览器的支持。因此,为了避免大量的基于Selenium 1的测试架构和代码被遗弃,Selenium团队提供了一种折中的方式来让基于Selenium 1的测试架构和代码能继续发挥余热。
某些使用Selenium多年的公司和机构,希望能够继续维护基于Selenium RC的测试集合,并继续添加新的测试代码;但是还有一部分使用Selenium多年的公司和机构,他们希望能将基于Selenium RC的测试代码迁移到WebDriver上来,让那些老旧但成熟的代码和测试集合重新焕发新生。本书在5.5节展示了如何从Selenium RC迁移已有代码到WebDriver的解决方案。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。