Получение исключения драйвера HTMLUnit (java.lang.ClassNotFoundException) - w Selenium и Java - PullRequest
1 голос
/ 03 апреля 2019

Полный снимок трассировки стека здесь Я новичок в концепциях браузера без головы. Я пытаюсь подтвердить страницу проверить пару значений webElement по огромному набору записей, используя Selenium.

Я бы хотел использовать драйвер HTMLUnit (или любой драйвер браузера без заголовка) для получения этой информации, но я получаю исключение Class not found, когда я запускаю драйвер HTMLUnit. Ниже мой код и код, который я использую. Ценю твою помощь. Спасибо!

pom.xml:

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.2.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-core</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-picocontainer</artifactId>
<version>1.2.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.picocontainer</groupId>
<artifactId>picocontainer</artifactId>
<version>2.15</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.9.1</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-api</artifactId>
<version>3.141.59</version>
</dependency>   
<dependency>
<groupId>com.vimalselvam</groupId>
<artifactId>cucumber-extentsreport</artifactId>
<version>3.0.2</version>
</dependency>
<dependency>
<groupId>com.aventstack</groupId>
<artifactId>extentreports</artifactId>
<version>3.1.3</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>   
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-htmlunit-driver</artifactId>
<version>2.52.0</version>
</dependency>
</dependencies>

HTMLunit код драйвера:

public WebDriver inithtmlUnitDriver() {
// To declare and initialize HtmlUnitDriver
WebDriver driver = new HtmlUnitDriver(BrowserVersion.CHROME);
// Set implicit wait 
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
return driver;
}

1 Ответ

2 голосов
/ 03 апреля 2019

Вы пытаетесь смешивать разные версии Selenium:

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

<version>3.9.1</version>

</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-api</artifactId>

<version>3.141.59</version>

</dependency>   

Вы должны быть последовательными и использовать 3.141.59 и изменить зависимость драйвера модуля HTML к текущей версии.Они изменили артефакт, чтобы он соответствовал версиям модуля HTML.

<dependency>
  <groupId>org.seleniumhq.selenium</groupId>
  <artifactId>htmlunit-driver</artifactId>
  <version>2.34.0</version>
</dependency>

Это должно решить ваши проблемы с зависимостями.

...