«ошибка: невозможно получить доступ к Killable» при компиляции кода с библиотеками selenium java 3.11 - PullRequest
0 голосов
/ 08 июня 2018

Компиляция кода завершается с ошибкой «ошибка: невозможно получить доступ к Killable» в строке класса FirefoxWebDriver расширяет FirefoxDriver {......

Мы обновились до Selenium 3.11 с версии 3.3.1.Мы пытаемся запустить тесты в браузере с сеткой селена, используя Docker.Я обнаружил, что класс Killable был удален.Пожалуйста, предложите, если мне нужно обновить какой-либо код chagnes.

Спасибо.

1 Ответ

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

Трудно проанализировать / завершить без вашей Настройки проекта информации (т.е. вы используете Selenium JAR , Ant , Maven или Gradle ), ваши испытания кода и трассировка стека ошибок .

Однако это сообщение об ошибке ...

error: cannot access Killable

... подразумевает, что ваша программа столкнулась с ошибкой при доступе к Killable .

Файл Killable.class

Согласно обсуждению Killable ClassNotFound файл Killable.class содержался в selenium-api-2.21.0.jar .Кроме того, использование Maven-зависимости selenium-server 2.21.0 привело к ошибке:

Exception in thread "main" java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/openqa/selenium/internal/Killable

Объяснение

Как вы уже упоминали, вы обновились с Selenium3.3.1 до Selenium 3.11 возможная причина - конфликт версий среди двоичных файлов, которые вы используете, в виде JAR , Maven или Gradle зависимость и может быть из-за наличия одного / нескольких из следующих:

  • selenium-server 2.21.0.jar
  • selenium-api-2.21.0.jar
  • Maven зависимость из selenium-server 2.21.0 или selenium-api-2.21.0
  • Зависимость Gradle из selenium-server 2.21.0 или selenium-api-2.21.0

Solution

  • Если вы используете Selenium Java Jars , скачайте и добавьте соответствующий jar /банки либо (от):

    • selenium-server-standalone-3.11.0.jar
    • selenium-java-3.11.0.zip
  • Если вы используете Зависимость Maven для Selenium , используйте любое из следующего:

    • Зависимость Selenium Java Client :

      <dependency>
          <groupId>org.seleniumhq.selenium</groupId>
          <artifactId>selenium-java</artifactId>
          <version>3.11.0</version>
      </dependency>   
      
    • Зависимость от Selenium Server :

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

мелочи

Если вы используете Maven , вы можете добавить этот блок в root pom (в разделе сборки просто добавьте к плагинам) для устранения неполадок в различных версиях бинарных файлов, которые вы получили.

<build>
    <plugins>
    <plugin>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>1.0</version>
        <executions>
        <execution>
            <id>enforce</id>
            <goals>
            <goal>enforce</goal>
            </goals>
            <configuration>
            <rules>
                <DependencyConvergence />
            </rules>
            </configuration>
        </execution>
        </executions>
    </plugin>
    </plugins>
</build>

Для справки selenium-server 2.21.0 дерево вывода было следующим:

[INFO] \- org.seleniumhq.selenium:selenium-server:jar:2.21.0:compile
[INFO]    +- org.bouncycastle:bcprov-jdk15on:jar:1.47:compile
[INFO]    +- mx4j:mx4j-tools:jar:3.0.1:compile
[INFO]    +- org.mortbay.jetty:servlet-api-2.5:jar:6.1.9:compile
[INFO]    +- org.seleniumhq.selenium:jetty-repacked:jar:7.6.1:compile
[INFO]    +- net.jcip:jcip-annotations:jar:1.0:compile
[INFO]    +- org.seleniumhq.selenium:selenium-java:jar:2.21.0:compile
[INFO]    |  +- org.seleniumhq.selenium:selenium-android-driver:jar:2.21.0:compile
[INFO]    |  |  \- org.seleniumhq.selenium:selenium-remote-driver:jar:2.21.0:compile
[INFO]    |  |     +- cglib:cglib-nodep:jar:2.1_3:compile
[INFO]    |  |     +- org.json:json:jar:20080701:compile
[INFO]    |  |     \- com.google.guava:guava:jar:11.0.1:compile
[INFO]    |  |        \- com.google.code.findbugs:jsr305:jar:1.3.9:compile
[INFO]    |  +- org.seleniumhq.selenium:selenium-chrome-driver:jar:2.21.0:compile
[INFO]    |  +- org.seleniumhq.selenium:selenium-htmlunit-driver:jar:2.21.0:compile
[INFO]    |  |  +- org.seleniumhq.selenium:selenium-api:jar:2.21.0:compile
[INFO]    |  |  +- net.sourceforge.htmlunit:htmlunit:jar:2.9:compile
[INFO]    |  |  |  +- xalan:xalan:jar:2.7.1:compile
[INFO]    |  |  |  |  \- xalan:serializer:jar:2.7.1:compile
[INFO]    |  |  |  +- commons-collections:commons-collections:jar:3.2.1:compile
[INFO]    |  |  |  +- commons-lang:commons-lang:jar:2.6:compile
[INFO]    |  |  |  +- org.apache.httpcomponents:httpmime:jar:4.1.2:compile
[INFO]    |  |  |  +- net.sourceforge.htmlunit:htmlunit-core-js:jar:2.9:compile
[INFO]    |  |  |  +- xerces:xercesImpl:jar:2.9.1:compile
[INFO]    |  |  |  |  \- xml-apis:xml-apis:jar:1.3.04:compile
[INFO]    |  |  |  +- net.sourceforge.nekohtml:nekohtml:jar:1.9.15:compile
[INFO]    |  |  |  +- net.sourceforge.cssparser:cssparser:jar:0.9.5:compile
[INFO]    |  |  |  |  \- org.w3c.css:sac:jar:1.3:compile
[INFO]    |  |  |  \- commons-logging:commons-logging:jar:1.1.1:compile
[INFO]    |  |  \- org.apache.httpcomponents:httpclient:jar:4.1.2:compile
[INFO]    |  |     \- org.apache.httpcomponents:httpcore:jar:4.1.2:compile
[INFO]    |  +- org.seleniumhq.selenium:selenium-firefox-driver:jar:2.21.0:compile
[INFO]    |  |  +- commons-io:commons-io:jar:2.0.1:compile
[INFO]    |  |  \- org.apache.commons:commons-exec:jar:1.1:compile
[INFO]    |  +- org.seleniumhq.selenium:selenium-ie-driver:jar:2.21.0:compile
[INFO]    |  |  +- net.java.dev.jna:jna:jar:3.4.0:compile
[INFO]    |  |  \- net.java.dev.jna:platform:jar:3.4.0:compile
[INFO]    |  +- org.seleniumhq.selenium:selenium-iphone-driver:jar:2.21.0:compile
[INFO]    |  +- org.seleniumhq.selenium:selenium-safari-driver:jar:2.21.0:compile
[INFO]    |  +- org.seleniumhq.selenium:selenium-support:jar:2.21.0:compile
[INFO]    |  \- org.webbitserver:webbit:jar:0.4.6:compile
[INFO]    |     \- org.jboss.netty:netty:jar:3.2.7.Final:compile
[INFO]    +- org.yaml:snakeyaml:jar:1.8:compile
[INFO]    \- commons-codec:commons-codec:jar:1.6:compile
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...