запуск тестовых случаев selenium webdriver для нескольких браузеров

Я новичок в тестировании Селена. Я хочу бежать selenium test cases в нескольких браузерах против internet explorer, Firefox, opera и chrome. Какой подход я должен следовать. Можете ли вы люди, пожалуйста, предложить мне, что является лучшим процессом.

поддерживает ли selenium web driver несколько браузеров или нет???

мы написали сценарий входа. Он работает успешно для Firefox, chrome и internet explorer по отдельности. Но я хочу запустить его для этих нескольких браузеров последовательно.

3 ответов


веб-драйвер поддерживает несколько браузеров, конечно же, появилась поддержка мобильных

ChromeDriver

IEDiver

FirefoxDriver

OperaDriver

AndroidDriver

вот пример для запуска одних и тех же тестов в нескольких браузерах.

package ma.glasnost.test;

import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
        .........
DesiredCapabilities[] browserList = {DesiredCapabilities.chrome(),DesiredCapabilities.firefox(),DesiredCapabilities.internetExplorer(), DesiredCapabilities.opera()};
for (DesiredCapabilities browser : browserList)
{
    try {
        System.out.println("Testing in Browser: "+browser.getBrowserName());
        driver = new RemoteWebDriver(new URL("http://127.0.0.1:8080/..."), browser);

надеюсь, что это поможет.


можно использовать Расширения WebDriver фреймворк JUnitRunner

вот пример теста googling для "Hello World"

@RunWith(WebDriverRunner.class)
@Firefox
@Chrome
@InternetExplorer
public class WebDriverExtensionsExampleTest {

    // Model
    @FindBy(name = "q")
    WebElement queryInput;
    @FindBy(name = "btnG")
    WebElement searchButton;
    @FindBy(id = "search")
    WebElement searchResult;

    @Test
    public void searchGoogleForHelloWorldTest() {
        open("http://www.google.com");
        assertCurrentUrlContains("google");

        type("Hello World", queryInput);
        click(searchButton);

        waitFor(3, SECONDS);
        assertTextContains("Hello World", searchResult);
    }
}

просто не забудьте добавить Расширения WebDriver рамки среди вашего maven pom.зависимости xml

<dependency>
    <groupId>com.github.webdriverextensions</groupId>
    <artifactId>webdriverextensions</artifactId>
    <version>1.2.1</version>
</dependency>

драйверы можно загрузить с помощью предоставленного плагина maven. Просто добавьте

<plugin>
    <groupId>com.github.webdriverextensions</groupId>
    <artifactId>webdriverextensions-maven-plugin</artifactId>
    <version>1.0.1</version>
    <executions>
        <execution>
            <goals>
                <goal>install-drivers</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <drivers>
            <driver>
                <name>internetexplorerdriver</name>
                <version>2.44</version>
            </driver>
            <driver>
                <name>chromedriver</name>
                <version>2.12</version>
            </driver>
        </drivers>
    </configuration>
</plugin>

на ваш пом.XML. Или, если вы предпочитаете загружать их вручную просто аннотировать тестовый класс с помощью

@DriverPaths(chrome="path/to/chromedriver", internetExplorer ="path/to/internetexplorerdriver")

аннотация, указывающая на драйверы.

обратите внимание, что в приведенном выше примере используются статические методы из расширений WebDriver бот класс чтобы сделать тест более читабельным. Однако вы не привязаны к их использованию. Вышеупомянутый тест, переписанный в чистом Selenium WebDriver, будет выглядеть так

    @Test
    public void searchGoogleForHelloWorldTest() throws InterruptedException {
        WebDriver driver = WebDriverExtensionsContext.getDriver();

        driver.get("http://www.google.com");
        assert driver.getCurrentUrl().contains("google");

        queryInput.sendKeys("Hello World");
        searchButton.click();

        SECONDS.sleep(3);
        assert searchResult.getText().contains("Hello World");
    }

import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;

public class Sample {
    private WebDriver _driver;

    @Test
    public void IEconfiguration() throws Exception {
        System.setProperty("webdriver.ie.driver",
        "D:/Softwares/Selenium softwares/drivers/IEDriverServer.exe");
        _driver = new InternetExplorerDriver();
        login();
    }

    @Test
    public void FFconfiguration() throws Exception {
        _driver = new FirefoxDriver();
        login();
    }

    @Test
    public void CRconfiguration() throws Exception {
        System.setProperty("webdriver.chrome.driver",
                "D:/Softwares/Selenium softwares/drivers/chromedriver.exe");
        _driver = new ChromeDriver();
        //_driver.manage().timeouts().implicitlyWait(100, TimeUnit.SECONDS);
        login();
    }

    public void login() throws Exception {
        _driver.get("http://www.google.com");
    }       
}

перед этим мы должны установить драйверы chrome и internet explorer .исполняемые файлы и запускать их.