gpt4 book ai didi

java - 为什么我得到 java.lang.NoSuchMethodError : even though the build is green?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:11:29 25 4
gpt4 key购买 nike

我在 intellij 中使用 HtmlUnitDriver 编写了一个测试。代码是:

import junit.framework.Assert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;

public class HtmlUnitDemo {
WebDriver driver;

public static void main(String args[]){
HtmlUnitDemo obj = new HtmlUnitDemo();
obj.setup();
obj.openURL();
}

public void openURL() {

driver.get("https://mail.google.com");
driver.findElement(By.id("username")).sendKeys("xyz");
driver.findElement(By.id("password")).sendKeys("pqr");
driver.findElement(By.className("btn-submit")).click();
Assert.assertEquals(driver.getTitle(), "CAS – Central Authentication Service");
}

public void setup(){
driver = new HtmlUnitDriver();
}
}

这段代码是在我使用 gradle 时构建的。但是,当我在 IDE 中运行它时,它给了我一个

*java.lang.NoSuchMethodError: org.apache.http.conn.scheme.Scheme.<init>(Ljava/lang/String;ILorg/apache/http/conn/scheme/SchemeSocketFactory;)

整个堆栈跟踪是:

at com.gargoylesoftware.htmlunit.HttpWebConnection.createHttpClient(HttpWebConnection.java:504)
at com.gargoylesoftware.htmlunit.HttpWebConnection.getHttpClient(HttpWebConnection.java:470)
at com.gargoylesoftware.htmlunit.HttpWebConnection.setUseInsecureSSL(HttpWebConnection.java:659)
at com.gargoylesoftware.htmlunit.WebClient.setUseInsecureSSL(WebClient.java:1085)
at org.openqa.selenium.htmlunit.HtmlUnitDriver.createWebClient(HtmlUnitDriver.java:263)
at org.openqa.selenium.htmlunit.HtmlUnitDriver.<init>(HtmlUnitDriver.java:129)
at org.openqa.selenium.htmlunit.HtmlUnitDriver.<init>(HtmlUnitDriver.java:172)
at org.openqa.selenium.htmlunit.HtmlUnitDriver.<init>(HtmlUnitDriver.java:168)
at smoke.com.thoughtworks.twu.HtmlUnitDemo.setup(HtmlUnitDemo.java:30)
at smoke.com.thoughtworks.twu.HtmlUnitDemo.main(HtmlUnitDemo.java:14)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

我用谷歌搜索了这个错误,它说了一些与类路径相关的内容。但我不确定到底要做什么。我对这个领域很陌生。因此,我们将不胜感激任何帮助。提前谢谢你。

最佳答案

NoSuchMethodError 可能表示类 org.apache.http.conn.scheme.Scheme 所在的库具有与预期不同的版本。

检查您正在使用的 Selenium 库所使用的依赖项。如果它来自 maven,这可能是一个简单的任务,否则请查看他们的网站。

关于java - 为什么我得到 java.lang.NoSuchMethodError : even though the build is green?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13120694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com