Я не могу получить WebDriverManager для работы. Я хотел бы использовать PhantomJSDriver без необходимости устанавливать системное свойство, как это:WebDriverManager для PhantomJSDriver не работает
System.setProperty("phantomjs.binary.path", "E:/phantomjs-2.1.1-windows/bin/phantomjs.exe");
У меня есть эта зависимость в моем pom.xml:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>1.5.1</version>
</dependency>
Это мой код/тест:
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class TestA {
WebDriver driver;
@BeforeClass
public static void setupClass() {
PhantomJsDriverManager.getInstance().setup();
}
@Before
public void setUp() {
driver = new PhantomJSDriver();
}
@Test
public void test() {
driver.get("https://www.google.de/");
System.out.println(driver.getTitle());
assertEquals("Google", driver.getTitle());
}
}
тест терпит неудачу:
org.junit.ComparisonFailure: expected:<[Google]> but was:<[]>
Кто-нибудь знает, что я делаю неправильно? Заранее спасибо!
UPDATE: Теперь у меня есть еще одна проблема. Перед использованием webdrivermanager я имел это:
DesiredCapabilities dc = DesiredCapabilities.phantomjs();
dc.setJavascriptEnabled(true);
dc.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS,
new String[] { "--web-security=no", "--ignore-ssl-errors=yes" });
System.setProperty("phantomjs.binary.path", "E:/phantomjs-2.1.1-windows/bin/phantomjs.exe");
WebDriver driver = new PhantomJSDriver(dc);
Теперь, когда я удалить строку с System.setProperty(...)
, он больше не работает. Спасибо за помощь.
Убедитесь, что он действительно загрузил двоичный файл PhantomJS. Из его кода я вижу, что он генерирует журналы. Приложите их к вопросу или используйте их для решения этой проблемы. – Moshisho