com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout (SimpleTimeLimiter.java) с ChromeDriver и Chrome с использованием Selenium и Java - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь просто запустить драйвер Chrome, но получаю сообщение об ошибке тайм-аута. браузер запускается, но затем закрывается через несколько секунд, за исключением:

Информация о системе:

Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:19:58.91Z'
System info: host: 'MAC-images-MacBook-Pro-1164.local', ip: '----', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.6', java.version: '1.8.0_172'
Driver info: driver.version: ChromeDriver] with root cause
at java.util.concurrent.FutureTask.get(FutureTask.java:205)
~[na:1.8.0_172]     at
com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:156)
~[guava-25.0-jre.jar:na]    at
org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:75)
~[selenium-remote-driver-3.14.0.jar:na]     at
org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:188)
~[selenium-remote-driver-3.14.0.jar:na]     at
org.openqa.selenium.remote.service.DriverService.start(DriverService.java:179)
~[selenium-remote-driver-3.14.0.jar:na]     at
org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:79)
~[selenium-remote-driver-3.14.0.jar:na]     at
org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)
~[selenium-remote-driver-3.14.0.jar:na]     at
org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:212)
~[selenium-remote-driver-3.14.0.jar:na]     at
org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:130)
~[selenium-remote-driver-3.14.0.jar:na]     at
org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
~[selenium-chrome-driver-3.14.0.jar:na]     at
org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)
~[selenium-chrome-driver-3.14.0.jar:na]     at
org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)
~[selenium-chrome-driver-3.14.0.jar:na]     at
com.example.tests.bl.impl.AutomationRunner.run(AutomationRunner.java:29)
~[classes/:na]

Кодовый фрагмент:

@Component
public class AutomationRunner implements IAutomationRunner {



    @Override
    public void run() throws MalformedURLException {
        System.setProperty("webdriver.chrome.driver",
            "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome");

        ChromeDriver driver = new ChromeDriver();
        driver.get("www.google.com");
        driver.close();
        driver.quit();
    }
}

использованных пакетов:

 <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.141.59</version>
 </dependency>

Есть идеи о том, что мне здесь не хватает? Спасибо!

1 Ответ

0 голосов
/ 05 апреля 2019

Это сообщение об ошибке ...

Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:19:58.91Z'
System info: host: 'MAC-images-MacBook-Pro-1164.local', ip: '----', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.6', java.version: '1.8.0_172'
Driver info: driver.version: ChromeDriver
.
com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:156)
~[guava-25.0-jre.jar:na]    at
org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:75)

... означает, что ChromeDriver не смог инициировать / создать новый WebBrowser , т.е. Браузер Chrome сеанс.

Ваша главная проблема - в строке System.setProperty(), где вы прошли абсолютный путь двоичного файла Google Chrome вместо ChromeDriver двоичный.


Решение

Вам необходимо скачать соответствующий ChromeDriver бинарный файл для Mac OS X т.е. chromedriver_mac64 и поместить его в любое место в вашей системе, извлечь ChromeDriver двоичный файл и передать абсолютный путь в System.setProperty() следующим образом:

System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...