Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HtmlUnitDriver似乎缺少HTTP组件?_Java_Maven_Selenium Webdriver_Htmlunit - Fatal编程技术网

Java HtmlUnitDriver似乎缺少HTTP组件?

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

为了开始使用Selenium2和HtmlUnitDriver,我创建了一个测试项目。只要我使用FirefoxDriver,一切都能正常工作。但一旦我切换到HtmlUnitDriver,我就会得到以下异常。我是否缺少一些依赖项?我没有找到任何文档告诉我必须包含哪些Maven依赖项才能使其正常工作

例外情况:

编辑:修复了缺少的依赖项

尝试移动此块:

<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>