【发布时间】:2024-05-22 23:05:02
【问题描述】:
我知道空指针错误是因为注入没有正确初始化。不完全确定如何修复它。
我有三个文件:main (CommonElements.java)、Constructor.java(bean)和 Driver.java(主要代码所在的位置)。
试图将driver.java注入commomelements,当它运行时,就会发生空指针异常。
这是每个的代码。任何帮助将不胜感激。
CommonElements.java
package PageFactory;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.*;
public class CommonElements {
private Driver web;
ApplicationContext ctx = new AnnotationConfigApplicationContext(Constructor.class);
Driver page = ctx.getBean(Driver.class);
@Test
public void Common(final Driver web)
{
this.web = web;
web.setup();
}
}
Constructor.java
package PageFactory;
import org.springframework.context.annotation.*;
//constructor
@Configuration //using java dependency injection
public class Constructor {
@Bean
public Driver driver() {
return new Driver();
}
}
驱动程序.java
package PageFactory;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
public class Driver {
private String baseUrl;
public void setup() {
final WebDriver driver;
System.setProperty("webdriver.chrome.driver",
"drivers/chromedriver.exe"); //location of driver
ChromeOptions options = new ChromeOptions();
driver = new ChromeDriver(options);
baseUrl = "https://www.google.com";
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
}
【问题讨论】:
-
你能发布堆栈跟踪吗?另外,你有没有使用调试器单步调试你的代码?
-
它甚至不会运行调试器。这就是它所说的:启动 CommentElemetns 遇到问题:在“启动 CommonElements (1)”期间发生内部错误。 java.lang.NullPointerException
标签: java spring selenium-webdriver nullpointerexception initialization