ошибка в коде "org.openqa.selenium.remote.DriverCommand.NEW_SESSION" - PullRequest
0 голосов
/ 10 июня 2019

Я получаю ошибку ниже с моей программой Java: -

Exception in thread "main" java.lang.NoSuchMethodError: org.openqa.selenium.remote.DriverCommand.NEW_SESSION(Lorg/openqa/selenium/Capabilities;)Lorg/openqa/selenium/remote/CommandPayload;
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:211)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:147)
    at automation.flyYatra.mainTest(flyYatra.java:42)
    at automation.flyYatra.main(flyYatra.java:243)

Попытался добавить последние файлы jar, как видно на снимке ниже, но не смог их разрешить. Любая помощь, пожалуйста?

enter image description here

автоматизация упаковки;

public class flyYatra {

    public void mainTest() throws IOException, InterruptedException, WebDriverException, SocketException {   
        System.setProperty("webdriver.chrome.driver", "C:\\Users\\Downloads\\Driver\\chromedriver.exe"); 
        ChromeOptions options = new ChromeOptions();
        options.addArguments("--incognito");
        DesiredCapabilities capabilities = DesiredCapabilities.chrome();
        capabilities.setCapability(ChromeOptions.CAPABILITY, options);
        WebDriver driver = new ChromeDriver(capabilities);
        driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

Пробовал с различными версиями jar-файлов, но не смог решить

1 Ответ

0 голосов
/ 10 июня 2019

Ваша various versions of jar files - это проблема, известная как JAR Hell , поскольку в CLASSPATH есть несколько библиотек, имеющих одинаковые классы, и порядок загрузки классов варьируется в зависимости от базовой операционной системы. и расположение библиотек.

Убедитесь, что у вас установлена ​​та же версия библиотек Java Selenium, а если быть точнее, последняя - 3.141.59

Поэтому я бы порекомендовал воспользоваться решением для управления зависимостями, таким как Apache Maven , вы должны получить некоторые вещи, используя этот небольшой pom.xml файл

<?xml version="1.0" encoding="UTF-8"?>
<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>com.example</groupId>
    <artifactId>selenium-java</artifactId>
    <version>1.0-SNAPSHOT</version>

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

Сохраните его где-нибудь на диске и выполните команду mvn dependency: copy-dependencies - она ​​загрузит кучу "хороших" .jars в папку "target / dependencies".

Вы также можете использовать этот репозиторий , упомянутый в Selenium with Java , в качестве основы для ваших тестов

...