インジェクションが正しく初期化されていないため、ヌルポインターエラーが発生することがわかりました。それを修正する方法が正確にはわかりません。Spring Javaベースのダイレクトインジェクションの初期化によるヌルポインタエラー
私はmain(CommonElements.java)、Constructor.java(bean)、およびDriver.java(メインコードがある)の3つのファイルを持っています。
commomelementsに注入されたdriver.javaを取得しようとすると、実行時にnullポインタ例外が発生します。
それぞれのコードは次のとおりです。どんな助けでも大歓迎です。
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();
}
}
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);
}
}
あなたはスタックトレースを投稿することができます:春
参照を初期化するJUnitの?また、デバッガを使用してコードを実行しましたか? –
デバッガを実行することさえありません。 起動中のコメントElemetnsに問題が発生しました: 「CommonElements(1)の起動中」の内部エラーが発生しました。 java.lang.NullPointerException – JST