Java HtmlUnitDriver似乎缺少HTTP组件?
为了开始使用Selenium2和HtmlUnitDriver,我创建了一个测试项目。只要我使用FirefoxDriver,一切都能正常工作。但一旦我切换到HtmlUnitDriver,我就会得到以下异常。我是否缺少一些依赖项?我没有找到任何文档告诉我必须包含哪些Maven依赖项才能使其正常工作 例外情况: 编辑:修复了缺少的依赖项 尝试移动此块:Java HtmlUnitDriver似乎缺少HTTP组件?,java,maven,selenium-webdriver,htmlunit,Java,Maven,Selenium Webdriver,Htmlunit,为了开始使用Selenium2和HtmlUnitDriver,我创建了一个测试项目。只要我使用FirefoxDriver,一切都能正常工作。但一旦我切换到HtmlUnitDriver,我就会得到以下异常。我是否缺少一些依赖项?我没有找到任何文档告诉我必须包含哪些Maven依赖项才能使其正常工作 例外情况: 编辑:修复了缺少的依赖项 尝试移动此块: <dependency> <groupId>org.seleniumhq.selenium</groupId&g
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-htmlunit-driver</artifactId>
<version>${selenium.version}</version>
</dependency>
从POM的一部分进入包含FireFox驱动程序的部分。尝试移动此块:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-htmlunit-driver</artifactId>
<version>${selenium.version}</version>
</dependency>
从POM的一节到包含FireFox驱动程序的一节。我得到了相同的错误,下面是我如何解决的-如果您的httpclient.jar、httpcore、HttpTime jar文件版本与父第三方类不匹配,则会出现此错误。我有httpclient-4.0.3.jar版本。下载httpclient-4.2.jar并将其添加到我的NetBeans库中。同样添加了httpcore-4.2.jar和httpmime-4.2.jar。该类已执行!! 从以下存储库下载:
我遇到了相同的错误,下面是我如何解决的-如果您的httpclient.jar、httpcore、httpime jar文件版本与父第三方类不匹配,则会出现此错误。我有httpclient-4.0.3.jar版本。下载httpclient-4.2.jar并将其添加到我的NetBeans库中。同样添加了httpcore-4.2.jar和httpmime-4.2.jar。该类已执行!! 从以下存储库下载:
谢谢,我添加了缺少的依赖项,但仍然是同一个错误。我只是试图通过修复依赖项防御使其正常工作,但仍然是同一个错误。似乎父项目的依赖项存在冲突。在将ui测试与其他maven项目隔离之后,现在一切都正常了!谢谢,我添加了缺少的依赖项,但仍然是同一个错误。我只是试图通过修复依赖项防御来让它工作,但仍然是同一个错误。似乎父项目有冲突的依赖项。在将ui测试与其他maven项目隔离之后,现在一切都正常了!我使用的是maven,因此不需要手动下载工件!谢谢我在maven pom.xml文件中写入了错误的版本号。在看到您的答案并修复了版本号后,问题得到了解决。我使用的是maven,因此没有手动下载工件!谢谢我在maven pom.xml文件中写入了错误的版本号。在看到您的答案并修复版本号后,问题得到解决。
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
import org.testng.Assert;
import org.testng.annotations.Test;
public class GoogleTest {
private static final String SEARCH_BUTTON = "gbqfb";
public final static String SEARCH_BAR = "gbqfq";
public final static String RESULT_STATS = "resultStats";
@Test
public void testMe() {
// does not work:
// java.lang.NoClassDefFoundError:
// org/apache/http/impl/conn/PoolingClientConnectionManager
HtmlUnitDriver wd = new HtmlUnitDriver();
// FirefoxDriver wd = new FirefoxDriver();
wd.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
wd.get("http://www.google.de/");
WebElement searchBar = wd.findElement(By.id(SEARCH_BAR));
WebElement searchButton = wd.findElement(By.id(SEARCH_BUTTON));
searchBar.click();
searchBar.clear();
searchBar.sendKeys("Selenium Test");
searchButton.click();
WebElement resultsText = wd.findElement(By.id(RESULT_STATS));
String resultsFound = resultsText.getText();
wd.close();
Assert.assertTrue(resultsFound.startsWith("Ungefähr 34.100.000 Ergebnisse"));
}
}
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-htmlunit-driver</artifactId>
<version>${selenium.version}</version>
</dependency>