Я написал настройку интеграции Spring Test для запуска тестов на селен. Не удалось создать экземпляр объекта драйвера с помощью spring
Я новичок в Spring.Пожалуйста, дайте мне знать, где я делаю неправильно.
Я пытаюсь вызвать объект драйвера селена, чтобы я мог использовать его в моих тестовых классах
// Этот класс для создания нового объекта драйвера
DriverFactory
@Configuration
public class DriverFactory {
public DriverFactory() {
}
@Bean
public WebDriver getDriver() {
ChromeDriverManager.chromedriver().setup();
return new ChromeDriver();
}
}
// Этот класс для сканирования компонентов
TestCoreConfiguration
@Configuration
@ComponentScan(basePackages = { "com.cdm" })
public class TestCoreConfiguration {
public TestCoreConfiguration() {
}
}
// Этот класс для запуска драйвера
CoreBaseTest
@ContextConfiguration(
classes = {TestCoreConfiguration.class,DriverFactory.class}
)
public class CoreBaseTest extends AbstractTestNGSpringContextTests{
@Autowired(required = true )
public WebDriver cs;
public CoreBaseTest() {
System.out.println(cs +"&&&&&&&&&&&&&&");
cs.get("https://www.google.com");
}
}
Необходимо вызвать объект драйвера
// Этот класс для запуска реальных тестов
SanityTest
public class SanityTest extends CoreBaseTest{
@Test
public void sanityTest() {
}
}
Исключение
Cannot instantiate class com.cdm.Login.SanityTest
at org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:30)
at org.testng.internal.ClassHelper.createInstance1(ClassHelper.java:423)
at org.testng.internal.ClassHelper.createInstance(ClassHelper.java:336)
at org.testng.internal.ClassImpl.getDefaultInstance(ClassImpl.java:125)
at org.testng.internal.ClassImpl.getInstances(ClassImpl.java:190)
at org.testng.TestClass.getInstances(TestClass.java:95)
at org.testng.TestClass.initTestClassesAndInstances(TestClass.java:81)
at org.testng.TestClass.init(TestClass.java:73)
at org.testng.TestClass.<init>(TestClass.java:38)
at org.testng.TestRunner.initMethods(TestRunner.java:389)
at org.testng.TestRunner.init(TestRunner.java:271)
at org.testng.TestRunner.init(TestRunner.java:241)
at org.testng.TestRunner.<init>(TestRunner.java:192)
at org.testng.remote.support.RemoteTestNG6_12$1.newTestRunner(RemoteTestNG6_12.java:33)
at org.testng.remote.support.RemoteTestNG6_12$DelegatingTestRunnerFactory.newTestRunner(RemoteTestNG6_12.java:66)
at org.testng.SuiteRunner$ProxyTestRunnerFactory.newTestRunner(SuiteRunner.java:713)
at org.testng.SuiteRunner.init(SuiteRunner.java:260)
at org.testng.SuiteRunner.<init>(SuiteRunner.java:198)
at org.testng.TestNG.createSuiteRunner(TestNG.java:1295)
at org.testng.TestNG.createSuiteRunners(TestNG.java:1273)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1128)
at org.testng.TestNG.runSuites(TestNG.java:1049)
at org.testng.TestNG.run(TestNG.java:1017)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:24)
... 25 more
Caused by: java.lang.NullPointerException
at com.cdm.core.CoreBaseTest.<init>(CoreBaseTest.java:23)
at com.cdm.Login.SanityTest.<init>(SanityTest.java:7)
... 30 more