Исключение в потоке "main" java .lang.NoSuchFieldError: LINUX - PullRequest
0 голосов
/ 18 января 2020
package org.example;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class Sample {
    public static void main(String[] args) throws InterruptedException {
        System.setProperty("Webdriver.chrome.driver","C:\\Users\\Asus\\Downloads\\jar_files (1)\\selenium-chrome-driver-3.141.59");
        WebDriver driver = new ChromeDriver();
        driver.get("https://www.guru99.com");
        //driver.manage().window().maximize();
        Thread.sleep(5000);
        driver.quit();
        driver.close();
    }
}

С этим кодом я получаю следующую ошибку:

"C: \ Program Files \ Java \ jdk-13.0.1 \ bin \ java .exe" " -javaagent: C: \ Program Files \ JetBrains \ IntelliJ IDEA Community Edition 2019,3 \ lib \ idea_rt.jar = 59685: C: \ Program Files \ JetBrains \ IntelliJ IDEA Community Edition 2019,3 \ bin "-Dfile.encoding = UTF-8 -classpath "C: \ Users \ Asus \ Maven wokspace \ target \ classes; C: \ Users \ Asus.m2 \ repository \ org \ apache \ poi \ poi \ 3.12 \ poi-3.12.jar ; C: \ Users \ Asus.m2 \ репозиториев \ Обще-кодек \ Обще-кодек \ 1,9 \ Обще-код c -1.9.jar; C: \ Users \ Asus.m2 \ репозиторий \ орг \ Apache \ пои \ пои-OOXML \ 3,12 \ пои-оо xml -3.12.jar; C: \ Users \ Asus.m2 \ репозиторий \ орг \ Apache \ пои \ пои-оо xml -schemas \ 3,12 \ пои-оо xml -schemas-3.12.jar; C: \ Users \ Asus.m2 \ репозиторий \ орг \ Apache \ XMLBeans \ XMLBeans \ 2.6.0 \ XMLBeans-2.6.0.jar; C : \ Users \ Asus.m2 \ репозиторий \ StAX \ StAX-апи \ 1.0.1 \ StAX-апи-1.0.1.jar; C: \ Users \ Asus.m2 \ репозиторий \ орг \ seleniumhq \ WebDriver \ WebDriver -Общие \ 0.9.7376 \ WebDriver-ком пн-0.9.7376.jar; C: \ Users \ Asus.m2 \ репозиторий \ орг \ seleniumhq \ селеном \ selenium- chrome -driver \ 3.141.59 \ selenium- chrome -driver-3.141.59 .jar; C: \ Users \ Asus.m2 \ репозиторий \ орг \ seleniumhq \ селеном \ селеном апи \ 3.141.59 \ селеном апи-3.141.59.jar; C: \ Users \ Asus.m2 \ репозиторий \ орг \ seleniumhq \ селен \ селен удаленного драйвер \ 3.141.59 \ селен удаленного водитель 3.141.59.jar; C: \ Users \ Asus.m2 \ репозиторий \ сетчатого \ bytebuddy \ байты- дружище \ 1.8.15 \ байты дружелюбного 1.8.15.jar; C: \ Users \ Asus.m2 \ репозиторий \ орг \ Apache \ Общин \ Обще-Exec \ 1,3 \ Обще-ех c -1.3. баночка; C: \ Users \ Asus.m2 \ репозиторий \ ком \ Google \ гуавы \ гуавы \ 25,0-JRE \ гуавы-25.0-jre.jar; C: \ Users \ Asus.m2 \ репозиторий \ COM \ Google \ код \ FindBugs \ JSR305 \ 1.3.9 \ jsr305-1.3.9.jar; C: \ Users \ Asus.m2 \ репозиторий \ орг \ checkerframework \ шахматная Compat-каче \ 2.0.0 \ шахматная Compat -qual-2.0.0.jar; C: \ Users \ Asus.m2 \ репозиторий \ ком \ Google \ errorprone \ error_prone_annotations \ 2.1.3 \ error_prone_annotations-2.1.3.jar; C: \ Users \ Asus .m2 \ репозиторий \ ком \ Google \ J 2objc \ j2obj c -annotations \ 1,1 \ j2obj c -annotations-1.1.jar; C: \ Users \ Asus.m2 \ репозиторий \ орг \ Codehaus \ харизмы \ животно-перехватчик-аннотаций \ 1,14 \ животное -sniffer-аннотаций-1.14.jar; C: \ Users \ Asus.m2 \ репозиторий \ ком \ squareup \ okhttp3 \ okhttp \ 3.11.0 \ okhttp-3.11.0.jar; C: \ Users \ Asus .m2 \ репозиторий \ ком \ squareup \ Окио \ Окио \ 1.14.0 \ Окио-1.14.0.jar; C: \ Users \ Asus.m2 \ репозиторий \ орг \ TestNG \ TestNG \ 7.1.0 \ testng- 7.1.0.jar; C: \ Users \ Asus.m2 \ репозиторий \ ком \ Бойст \ jcommander \ 1,72 \ jcommander-1.72.jar; C: \ Users \ Asus.m2 \ репозиторий \ ком \ Google \ инъекционные \ Guice \ 4.1.0 \ Guice-4.1.0-no_aop.jar; C: \ Users \ Asus.m2 \ репозиторий \ javax \ инъекционные \ javax.inject \ 1 \ javax.inject-1.jar; C: \ Users \ Asus.m2 \ репозиторий \ aopalliance \ aopalliance \ 1,0 \ aopalliance-1.0.jar; C: \ Users \ Asus.m2 \ репозиторий \ орг \ YAML \ snakeyaml \ 1,21 \ snakeyaml-1.21.jar "org.example.Sample

Исключение в потоке" main "java .lang.NoSuchFieldError: LINUX

в org.openqa.selenium. net .PortProber. (PortProber . java: 43) * 10 09 *

в org.openqa.selenium.remote.service.DriverService $ Builder.build (DriverService. java: 351)

в org.openqa.selenium. chrome .ChromeDriverService.createDefaultService (ChromeDriverService. java: 94)

в org.openqa.selenium. chrome .ChromeDriver. (ChromeDriver. java: 123)

в org.example.Sample. main (пример. java: 8)

Процесс завершен с кодом выхода 1

Кто-нибудь подскажет точное решение?

1 Ответ

0 голосов
/ 19 января 2020

Это сообщение об ошибке ...

Exception in thread "main" java.lang.NoSuchFieldError: LINUX

... означает, что поле Platform.LINUX в источнике отсутствует.


Это также в значительной степени видно из журналы трассировки ошибок, которые вы используете , и эта ошибка может возникать в следующих случаях:

  • Старые и несовместимые двоичные файлы.
  • CLASSPATH конфликт, т. е. аналогичный jar файл уже присутствует в проекте.

Решение

Вы должны позаботиться о нескольких вещах следующим образом:

  • Вам необходимо заменить колпачки W на маленькие w следующим образом:

    "webdriver.chrome.driver"
    
  • При использовании Maven :

    • Если вы добавили зависимость selenium-chrome-driver, вам не нужно использовать строку System.setProperty().
    • Вам необходимо выполнить следующие команды для flu sh Из предыдущих зависимостей установить новые и выполнить тест:

    mvn clean mvn install mvn test

    * 104 9 *
  • В худшем случае вы можете удалить подкаталог .m2 т.е. MAVEN_HOME и переустановить зависимости для выполнения теста.

Кроме того, убедитесь, что:

  • JDK обновлен до текущих уровней JDK 8u222 .
  • Selenium обновлен до текущих уровней Версия 3.141.59 .
  • ChromeDriver обновлен до текущей ChromeDriver v79.0.3945. 36 уровень.
  • Chrome обновлен до текущего Chrome Версия 79.0 уровень. (в соответствии с Замечаниями по выпуску ChromeDriver v79.0 )
  • Очистить ваше Рабочее пространство проекта через IDE и Перестройте ваш проект только с необходимыми зависимостями.
  • ( только для WindowsOS ) Используйте инструмент CCleaner , чтобы стереть все дела ОС. до и после выполнения Test Suite .
  • ( только для LinuxOS ) Освободите и освободите неиспользуемую / кэшированную память в Ubuntu / Linux Mint до и после выполнения Test Suite .
  • Если базовая версия Web Client устарела, удалите ее с помощью Revo Uninstaller и установите последнюю версию GA и выпущенную версию Веб-клиент .
  • Возьмите Перезагрузка системы .
  • Выполните @Test как пользователь, не являющийся root.
  • Всегда вызывайте driver.quit() в методе tearDown(){}, чтобы закрыть и уничтожить WebDriver и Веб-клиент экземпляров изящно.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...