Я пытаюсь настроить среду тестирования пользовательского интерфейса в проекте, используя Selenium в тестах JUnit внутри Testcontainers, используя IntelliJ IDE для разработки. Я использую OpenJDK 12.0.1
У меня есть самый простой тест, о котором я могу подумать, но я продолжаю получать исключения Null Pointer, когда пытаюсь получить ЛЮБОЙ веб-сайт (википедия, Google и т. Д.)
Я что-то упустил здесь?
Вот тест, который я настроил:
public class SimpleTest {
@Rule
public BrowserWebDriverContainer chrome = new BrowserWebDriverContainer()
.withCapabilities(new ChromeOptions());
@Test
public void simplePlainSeleniumTest() {
RemoteWebDriver driver = chrome.getWebDriver();
driver.get("https://google.com");
assertTrue("This should always pass", true);
}
}
В моем файле Gradle я импортирую следующее:
compile group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.141.59'
compile group: 'org.seleniumhq.selenium', name: 'selenium-remote-driver', version: '3.141.59'
testCompile group: 'org.testcontainers', name: 'selenium', version: '1.11.3'
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.2.0'
testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.2.0'
test {
useJUnitPlatform()
}
У меня нет специальных настроек в моем файле testcontainers.properties
Если я понимаю все примеры, которые я видел, это должно быть:
- Открытие теста внутри док-контейнера через тест-контейнеры.
- Создание драйвера для Chrome внутри этого контейнера.
- Переход на указанный веб-сайт (в примере выше, google.com)
- Проходящий, потому что true = true
Но я сталкиваюсь со следующей ошибкой, независимо от того, что я изменяю в коде:
selenium.SimpleTest > simplePlainSeleniumTest() FAILED
java.lang.NullPointerException at SimpleTest.java:34
Строка 34: driver.get("https://google.com");