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

时间:2010-12-14 23:48:06

标签: selenium selenium-rc

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

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

感谢。

3 个答案:

答案 0 :(得分:4)

实际上,你不可能在一台机器上拥有这么多不同版本的浏览器 - 你不能同时拥有不同的IE版本。 IETester是一个选项,但不如拥有不同版本的IE和FF的虚拟机。

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

是的,可以在有针对性的浏览器上运行测试:

我的测试中安装了FF3.6和FF4.1,因为在FF4.1中没有对Selenium IDE的良好支持,我想对FF3.6.17进行测试。我在这做什么:

。将环境变量DEFAULT_BROWSER添加为

  "*custom path/to/firefox 3.6/firefox.exe"

$TESTS_SELENIUM_BROWSER= getenv('DEFAULT_BROWSER') ? ...

在PHP代码中

。写测试类为

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

 }

希望这会有所帮助:)