我想知道是否有人熟悉使用selenium测试不同的浏览器版本。我知道您可以指定要测试的浏览器(使用* firefox或* iexplore)但是如果我安装了多个版本的firefox或IE,我想要一个测试来启动特定的Web浏览器版本,这样一个测试就可以运行IE7另一个可能会针对IE8。
目前,我的测试将始终针对我安装的任何默认浏览器版本运行。我意识到,如果我在多台机器上运行selenium,每个盒子都可能有不同的浏览器版本,这将解决我的问题,但我想知道我问的是什么(在一台机器上有多个浏览器版本)是可能的
感谢。
答案 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);
....
}
}
希望这会有所帮助:)