在上一章节中我们介绍了如何通过 python 的多线程来并行的在一台电脑上运行测试用例,而Selenium Grid 允许用户将测试案例分布在几台机器上并行执行。用户可以在一个集中控制点控制不同的环境。在不同的浏览器或不同的操作系统上面更为容易的运行测试案例。允许用户更多的利用虚拟资源减少了维护测试环境的成本。
Selenium Grid 版本
Selenium Grid 分为版本1 和 版本2,其实它的 2 个版本并不是和 selenium 的版本 1 和 2 相对应发布的(即 selenium-grid2 的发布比 selenium2 要晚一点)。
selenium grid2 已经集成到 selenium server 中了(即 selenium-server-standalone-XXX.jar 包中)所以,我们不用单独下载与安装 selenium grid,只需下载一下selenium server的jar包就好了(后面会具体讲解)。
在介绍 selenium grid 的工作原理之前,我们有必要先理解 selenium各个版本的工作原理的差异,这将有助于帮助我们理解和使用 selenium grid 。
Selenium 1工作原理
selenium1 中除了使用 selenium-core 以外,进行自动化测试时都需要使用 selenium-RC 来作为代理(不管是本机还是远程),目的是为了解决同源问题。
而造成同源问题的原因是因为 selenium1 中是使用Javascript 来驱动测试执行的(浏览器由于安全问题不允许不同域之间的 JS 调用,即非同源
本文详细介绍了Selenium Grid如何实现分布式测试,包括Selenium Grid的版本历史,工作原理,以及Selenium 1、2、3各版本的工作机制。Selenium 1依赖selenium-core或RC解决同源问题,而Selenium 2和3采用WebDriver直接调用浏览器接口,Selenium 3进一步完善了WebDriver的支持。此外,文章还提到了在不同版本中调用远程环境的方法。
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



