Maven Test не открывает браузер Chrome с Selenium Webdriver - PullRequest
1 голос
/ 31 марта 2019

Я создал проект Maven с TestNG для селенового веб-драйвера (браузер Chrome). Я запускаю базовый тест с TestNG и браузер Chrome успешно открывается. Buf, если я запускаю тот же тест с командой «Maven Test» и получаю сообщение об ошибке.

Не могли бы вы помочь? Я перепробовал много решений, например, предложенных Stack Overflow, но все еще безуспешно: (

  • Я запускаю «Maven Test» для базового теста «Hello World», и сборка успешна >>> Свидетельство того, что «Maven Test» создает успешную сборку

  • Я запускаю тест TestNG с командой, чтобы открыть браузер Chrome, и он работает >>> доказательство того, что TestNG работает успешно

  • Я запускаю «Maven Test» с командой, чтобы открыть браузер Chrome, и она НЕ работает, >>> разочаровавшись в этом, попробовал все решения, появившиеся в StackOverflow, но безуспешно

  • Я создал файл testng.xml

  • Я использовал разные версии для зависимостей Selenium-Java и Selenium-Server, а также для плагинов Chromedriver и SureFire, но проблема все еще существует, теперь я использую последнюю версию для всех из них (см. Файл POM ниже для более подробной информации).

  • Я удалил и переустановил Google Chrome, и теперь у меня установлена ​​последняя версия 73

  • У меня нет брандмауэра на моей машине

POM файл отображается ниже

<project xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
    http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>MavenProject</groupId>
    <artifactId>MavenProject</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.9.8</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.141.59</version>
        </dependency>

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-server</artifactId>
            <version>3.141.59</version>
        </dependency>

    </dependencies>

    <build>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M3</version>
                <configuration>
                    <suiteXmlFiles>
                        <suiteXmlFile>testng.xml</suiteXmlFile>
                    </suiteXmlFiles>
                </configuration>
            </plugin>
        </plugins>

    </build>

</project>

testng.xml файл появится ниже:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
    <test thread-count="5" name="Test">
        <classes>
            <class name="MavenPackage.NewTest"/>
        </classes>
    </test> <!-- Test -->

Мой код ниже:

public class NewTest {

    WebDriver driver;

    @Test
    public void MyFunction() {
        try {
            System.setProperty("webdriver.chrome.driver", "C:\\Selenium\\chromedriver\\chromedriver.exe");
            driver = new ChromeDriver();
            driver.manage().deleteAllCookies();
            driver.manage().window().maximize();
            driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
            driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);

            driver.get("http://www.ebay.com");
            Thread.sleep(3000);
            driver.quit();
            System.out.println("Test passed");
        } catch (InterruptedException e) {
        // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

Сообщение об ошибке

Starting ChromeDriver 73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72) on port 49053
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
[ERROR] Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 23.798 s <<< FAILURE! - in TestSuite
[ERROR] MyFunction(MavenPackage.NewTest)  Time elapsed: 21.874 s  <<< FAILURE!
org.openqa.selenium.WebDriverException: 
Timed out waiting for driver server to start.
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'DESKTOP-DV883K3', ip: '192.168.1.109', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_201'
Driver info: driver.version: ChromeDriver
at MavenPackage.NewTest.MyFunction(NewTest.java:20)
Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:49053/status] to be available after 20008 ms
at MavenPackage.NewTest.MyFunction(NewTest.java:20)
Caused by: java.util.concurrent.TimeoutException
at MavenPackage.NewTest.MyFunction(NewTest.java:20)

[INFO] 
[INFO] Results:
[INFO] 
[ERROR] Failures: 
[ERROR]   NewTest.MyFunction:20 » WebDriver Timed out waiting for driver server to start...
[INFO] 
[ERROR] Tests run: 1, Failures: 1, Errors: 0, Skipped: 0
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 28.467 s
[INFO] Finished at: 2019-03-30T23:32:42Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M3:test (default-test) on project MavenProject: There are test failures.

1 Ответ

0 голосов
/ 31 марта 2019

Добро пожаловать на SO.

org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start. 

Это означает, что ChromeDriver не может инициировать новый сеанс браузера Chrome.

Пожалуйста, обновите Java до последней версии (согласно сообщению мы видим, что вы используете java.version: «1.8.0_201», который старше, рассмотрите возможность обновления до последней версии Java 11.0)

Возможные причины:

Попробуйте выполнить один @Test напрямую, чтобы убедиться, что среда хороша, затем используйте testng.xml для дальнейшего выполнения.

...