在selenium中有一个测试用例,我想用不同版本的chrome浏览器测试这个测试用例,如何做到这一点?

在selenium中有一个测试用例,我想用不同版本的chrome浏览器测试这个测试用例,如何做到这一点?,selenium,Selenium,前天我接受了一次采访,他们问我如何用不同版本的chrome浏览器测试一个测试用例 public WebDriver setBrowserVersion(String version){ System.setProperty("webdriver.chrome.driver", "\\Drivers\\chromedriver.exe"); DesiredCapabilities caps = DesiredCapabilities.chrome(); caps.setCapab

前天我接受了一次采访,他们问我如何用不同版本的chrome浏览器测试一个测试用例

public WebDriver setBrowserVersion(String version){
System.setProperty("webdriver.chrome.driver", "\\Drivers\\chromedriver.exe");

    DesiredCapabilities caps = DesiredCapabilities.chrome();
    caps.setCapability("version", version);
    WebDriver wd = new ChromeDriver(caps);
WebDriver wd;
    }
要使用此方法,应在本地计算机中安装所述版本

或者您可以使用selenium网格来实现您的需求。首先设置selenium网格,然后使用下面的代码启动驱动程序

代码:

@Parameter({"browser","version"})
public void setBrowser(String browser,String version){

                   DesiredCapabilities dr=null;

                   if(browser.equals("chrome")){

                   dr=DesiredCapabilities.firefox();

                   dr.setBrowserName("firefox");

                   dr.setPlatform(Platform.WINDOWS);
dr.setVersion(version);



                   RemoteWebDriver driver=new RemoteWebDriver(new     URL(http://localhost:4444/wd/hub), dr);

}
相关Xml

<?xml version="1.0" encoding="UTF-8"?>

<suite name="GRID SAMPLE TEST" thread-count="2">

    <test name="GRID TEST ">

    <parameter name ="browser" value="chrome"/>
 <parameter name ="version" value="30"/>

        <classes>

            <class name ="GridExample"/>

        </classes>

    </test>



    <test name="GRID TEST WITH diff version ">

    <parameter name ="browser" value="chrome"/>
 <parameter name ="version" value="33"/>


        <classes>
            <class name ="GridExample"/>

        </classes>

    </test>

</suite>

要使用此方法,应在本地计算机中安装所述版本

或者您可以使用selenium网格来实现您的需求。首先设置selenium网格,然后使用下面的代码启动驱动程序

代码:

@Parameter({"browser","version"})
public void setBrowser(String browser,String version){

                   DesiredCapabilities dr=null;

                   if(browser.equals("chrome")){

                   dr=DesiredCapabilities.firefox();

                   dr.setBrowserName("firefox");

                   dr.setPlatform(Platform.WINDOWS);
dr.setVersion(version);



                   RemoteWebDriver driver=new RemoteWebDriver(new     URL(http://localhost:4444/wd/hub), dr);

}
相关Xml

<?xml version="1.0" encoding="UTF-8"?>

<suite name="GRID SAMPLE TEST" thread-count="2">

    <test name="GRID TEST ">

    <parameter name ="browser" value="chrome"/>
 <parameter name ="version" value="30"/>

        <classes>

            <class name ="GridExample"/>

        </classes>

    </test>



    <test name="GRID TEST WITH diff version ">

    <parameter name ="browser" value="chrome"/>
 <parameter name ="version" value="33"/>


        <classes>
            <class name ="GridExample"/>

        </classes>

    </test>

</suite>

要在不同版本的chrome中进行测试,首先需要在系统中提供不同版本的chrome二进制文件

对于那些不同版本的chrome,您需要具有兼容的chrome驱动程序。建议您为每个chrome版本使用正确支持的chrome驱动程序

然后,你必须为不同的版本提供不同的chrome选项。当您在测试中使用它们时,为不同的chrome版本启动具有不同chrome选项的chrome驱动程序

我的例子是用java编写的

尝试:

注意:如前一个答案所示,在功能中设置版本 不会更改实际的chrome二进制版本


要在不同版本的chrome中进行测试,首先需要系统中存在不同版本的chrome二进制文件

对于那些不同版本的chrome,您需要具有兼容的chrome驱动程序。建议您为每个chrome版本使用正确支持的chrome驱动程序

然后,你必须为不同的版本提供不同的chrome选项。当您在测试中使用它们时,为不同的chrome版本启动具有不同chrome选项的chrome驱动程序

我的例子是用java编写的

尝试:

注意:如前一个答案所示,在功能中设置版本 不会更改实际的chrome二进制版本


选择saucelabs或browserstack选择saucelabs或browserstack