使用Selenium在多个版本的浏览器上进行测试

使用Selenium在多个版本的浏览器上进行测试,selenium,selenium-rc,Selenium,Selenium Rc,我想知道是否有人熟悉使用selenium测试不同的浏览器版本。我知道您可以指定要测试的浏览器(使用*firefox或*iexplore),但是如果我安装了多个版本的firefox或IE,并且我想要一个测试来启动特定的web浏览器版本,那么一个测试将运行IE7,另一个测试可能运行IE8 目前,我的测试将始终针对我安装的任何默认浏览器版本运行。我意识到,如果我在多台机器上运行selenium,那么每台机器都可能有不同的浏览器版本,这将解决我的问题,但我想知道我所要求的(一台机器上的多个浏览器版本)是

我想知道是否有人熟悉使用selenium测试不同的浏览器版本。我知道您可以指定要测试的浏览器(使用*firefox或*iexplore),但是如果我安装了多个版本的firefox或IE,并且我想要一个测试来启动特定的web浏览器版本,那么一个测试将运行IE7,另一个测试可能运行IE8

目前,我的测试将始终针对我安装的任何默认浏览器版本运行。我意识到,如果我在多台机器上运行selenium,那么每台机器都可能有不同的浏览器版本,这将解决我的问题,但我想知道我所要求的(一台机器上的多个浏览器版本)是否可行


谢谢。

事实上,一台机器上不可能有这么多不同版本的浏览器-不可能同时有不同的IE版本。是一种选择,但不如让虚拟机具有不同版本的IE和FF


无论如何,最好的方法是使用不同的机器-无论是真实的还是虚拟的

您可以传递一个附加参数,该参数是浏览器二进制文件的完整路径。但是,大多数浏览器对安装多个版本都很挑剔,许多浏览器甚至不允许安装多个版本。在这种情况下,您确实需要单独的机器来运行所需的每个环境。硒网格是一个很好的选择。我们现在使用它在IE6、IE7、IE8、FF和Chrome中进行测试。每个测试指定它想要的环境,并映射回特定计算机上的启动器。

是的,可以在浏览器上运行测试:

我的测试中安装了FF3.6和FF4.1,因为FF4.1中没有对Selenium IDE的良好支持,所以我想对FF3.6.17运行测试。以下是我的工作:

。将环境变量添加为默认浏览器

  "*custom path/to/firefox 3.6/firefox.exe"
<代码>$TESTS\u SELENIUM\u BROWSER=getenv('DEFAULT\u BROWSER')

在php代码中

。将测试类编写为

class myTests extends  PHPUnit_Extensions_SeleniumTestCase{
 .... 
 protected function setUp()
    {       
        $this->setBrowser($TESTS_SELENIUM_BROWSER);
            ....
    } 

 }
希望这会有所帮助:)