/ opt / chromeos / chromedriver: /lib64/libc.so.6: версия `GLIBC_2.15 'не найдена (требуется для / opt / chromeos / chromedriver) с использованием браузера chromium в linux - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь запустить тестовый сценарий селена, используя браузер Chromium в Linux ..

Шаг для настройки браузера Chromium в Linux:

загрузил файл chrome-linux.zip по указанному ниже пути и извлеките на машине linux какой-то определенный путь

https://storage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Linux_x64/572137/chrome-linux.zip

Поместите последнюю версию файла linux для chromedriver (2.40) в машину linux

Полное разрешение (777) предоставлено для файла chromedrive, а также для папки chrome-linux.

И код селена:

WebDriver driver =  null;
DesiredCapabilities caps =  DesiredCapabilities.chrome();
ChromeOptions opts = new ChromeOptions();
opts.addArguments("--headless");
opts.addArguments("--disable-extensions");
opts.setBinary("/opt/chromeos/chrome-linux/chrome");//path of the chrome application file in linux 
caps.setCapability(ChromeOptions.CAPABILITY, opts);
System.setProperty("webdriver.chrome.driver", "/opt/chromeos/chomedriver");//path of the chromedriver file in linux
driver = new ChromeDriver(caps);
driver.get("https://www.google.com/");

Когда я пытаюсь запустить, я получаю исключение для недоступного браузера.

/opt/chromeos/chromedriver: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by /opt/chromeos/chromedriver)
/opt/chromeos/chromedriver: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /opt/chromeos/chromedriver)
/opt/chromeos/chromedriver: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /opt/chromeos/chromedriver)
Jul 03, 2018 12:46:53 PM org.openqa.selenium.os.UnixProcess checkForError
SEVERE: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 17:00:58'
System info: host: 'ION-MUM-PreQA-JB-61-75', ip: '10.10.61.75', os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-696.el6.x86_64', java.version: '1.7.0_101'
Driver info: driver.version: ChromeDriver
        at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:665)
        at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249)
        at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
        at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144)
        at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:170)
        at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:138)
        at com.DemoChromiumTest.main(DemoChromiumTest.java:24)
Caused by: org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.
Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 17:00:58'
System info: host: 'ION-MUM-PreQA-JB-61-75', ip: '10.10.61.75', os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-696.el6.x86_64', java.version: '1.7.0_101'
Driver info: driver.version: ChromeDriver
        at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:178)
        at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:166)
        at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:78)
        at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:644)
        ... 6 more
Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:16689/status] to be available after 20012 ms
        at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:107)
        at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:175)
        ... 9 more
Caused by: com.google.common.util.concurrent.UncheckedTimeoutException: java.util.concurrent.TimeoutException
        at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:143)
        at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:80)
        ... 10 more
Caused by: java.util.concurrent.TimeoutException
        at java.util.concurrent.FutureTask.get(FutureTask.java:201)
        at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:130)
        ... 11 more

Буду очень признателен за любые советы или рекомендации ...

1 Ответ

0 голосов
/ 03 июля 2018

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

/opt/chromeos/chromedriver: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by /opt/chromeos/chromedriver)
/opt/chromeos/chromedriver: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /opt/chromeos/chromedriver)
/opt/chromeos/chromedriver: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /opt/chromeos/chromedriver)
Jul 03, 2018 12:46:53 PM org.openqa.selenium.os.UnixProcess checkForError
SEVERE: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.

... означает, что ChromeDriver не смог инициировать / создать новый WebBrowser т.е. Chrome Browser сеанс из-за отсутствия GLIBC_2.15 и / или GLIBC_2.14 .

Прежде всего, в соответствии с подробностями вашего вопроса при использовании Selenium Java Client v2.53.0 Я не вижу проблем с вашим блоком кода. Однако, поскольку вы используете ОС Linux вместо chrome-linux.zip , вы должны убедиться, что вы загрузили chrome-linux.tar / chrome-linux .tz и распаковал его для правильного использования.


Что пошло не так

/lib64/libc.so.6: version 'GLIBC_2.15' not found и /lib64/libc.so.6: version 'GLIBC_2.14' not found

Двоичный файл ChromeDriver , который вы пытаетесь выполнить, был создан на основе системы GLIBC-2.15, которая не будет выполняться ни в одной системе с более старой GLIBC.

/usr/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.15' not found

Точно так же двоичный файл ChromeDriver , который вы пытаетесь выполнить, был построен на системе GLIBCXX_3.4.15, которая не будет выполняться ни в одной системе с более старой GLIBC, где ваш GLIBC старше 2.14.


ТЛ; др

Посмотрите на DistroWatch.com для совместимых двоичных файлов.


Возможные решения

Кроме того, вы не упомянули точную информацию о вашей среде, но вот некоторые из возможных причин и решений:

  • Согласно Ошибка при запуске chromedriver в CentOS 6,6 , если вы используете CentOS ниже версия 7 , обновление до CentOS version 7 решит вашу проблему .
  • Согласно chromedriver_linux64_2.1.zip не работает в CentOS 6.4 (последняя версия) вам необходимо:

    • Загрузить последнюю версию Chrome для CentOS6.4 (http://chrome.richardlloyd.org.uk/)
    • Загрузить последнюю версию ChromeDriver (2.40).
    • Теперь перейдите в папку /opt/google/chrome (необходим доступ sudo).
    • Скопируйте chromedriver в эту папку (для упрощения вы можете иметь ее где угодно).
    • Создать копию google-chrome как google-chromedriver. vi google-chromedriver и последняя строка изменяются как:

       exec -a "$0" "$HERE/chromedriver"  "$@"  (you can provide custom location of driver too).
      
    • Включить в путь

      sudo ln  -s /opt/google/chrome/google-chromedriver /usr/bin/chromedriver  
      
    • Изменить разрешение:

      chmod +x chromedriver
      
...