Я пытаюсь запустить Firefox без головы в AWS Codebuild linux. Я использую селен 3.6, gecko-драйвер 0.21.0, Firefox версии 61.0.2. Когда я запускаю тесты локально, все работает нормально, когда я запускаю его на Codebuild, я получаю сообщение об ошибке. Ошибка в строке 126 - это когда я пытаюсь нажать на элемент. Мой код:
public static WebDriver getFirefoxHeadless(Map map) throws IOException {
System.setProperty("webdriver.gecko.driver","/root/firefox_driver/geckodriver");
DesiredCapabilities capabilities =
DesiredCapabilities.firefox();
FirefoxOptions options = new FirefoxOptions();
options.setHeadless(true);
GeckoDriverService service;
GeckoDriverService.Builder builder = new
GeckoDriverService.Builder();
service = builder.usingAnyFreePort()
.withEnvironment(map)
.build();
service.start();
options.merge(capabilities);
return new FirefoxDriver(service, options);
}
@BeforeTest
public void setUp() throws IOException, InterruptedException {
driver = Helpers.getFirefoxHeadless(MozLog.getMozLogMap());
driver.manage().window().setSize(new Dimension(1920, 1080));
driver.get(getUrl());
Thread.sleep(4000);
}
@Test
public void clickoutTestFirefox() throws IOException, InterruptedException, SQLException {
driver.findElement(By.cssSelector(".popup-close-button-slim")).click();
Я получаю следующую ошибку при запуске Codebuild:
com.clickout.apitesting.waUITest.E2ECNTestFirefox.clickoutTestFirefox FAILED
org.openqa.selenium.WebDriverException: не удалось декодировать ответ от марионетки
Информация о сборке: версия: '3.13.0', ревизия: '2f0d292', время: '2018-06-25T15: 24: 21.231Z'
Системная информация: хост: 'ip-172-32-0-217.eu-west-1.compute.internal', ip: '172.32.0.217', os.name: 'Linux', os.arch: 'amd64' , os.version: '4.14.59-64.43.amzn1.x86_64', java.version: '1.8.0_171'
Информация о драйвере: org.openqa.selenium.firefox.FirefoxDriver
Возможности {acceptInsecureCerts: true, имя браузера: firefox, browserVersion: 62.0, javascriptEnabled: true, moz: accessibilityChecks: false, moz: headless: true, moz: processID: 2393, moz: profile: /tmp/rust_mozprofile.AD0yj8 ..., moz: useNonSpecCompliantPointerOrigin: false, moz: webdriverClick: true, pageLoadStrategy: нормальный, платформа: LINUX, platformName: LINUX, platformVersion: 4.14.59-64.43.amzn1.x86_64, вращаемый: false, таймауты: {неявный: 0, pageLad) , скрипт: 30000}}
Идентификатор сеанса: f0ea1950-77fe-463b-a8a1-e0dc5458800f
*** Информация об элементе: {Using = css selector, value = .popup-close-button-slim}
at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (собственный метод)
at sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45)
в java.lang.reflect.Constructor.newInstance (Constructor.java:423)
в org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException (W3CHttpResponseCodec.java:187)
в org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode (W3CHttpResponseCodec.java:122)
в org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode (W3CHttpResponseCodec.java:49)
в org.openqa.selenium.remote.HttpCommandExecutor.execute (HttpCommandExecutor.java:158)
в org.openqa.selenium.remote.service.DriverCommandExecutor.execute (DriverCommandExecutor.java:83)
в org.openqa.selenium.remote.RemoteWebDriver.execute (RemoteWebDriver.java:548)
в org.openqa.selenium.remote.RemoteWebDriver.findElement (RemoteWebDriver.java:322)
в org.openqa.selenium.remote.RemoteWebDriver.findElementByCssSelector (RemoteWebDriver.java:416)
в org.openqa.selenium.By $ ByCssSelector.findElement (By.java:431)
в org.openqa.selenium.remote.RemoteWebDriver.findElement (RemoteWebDriver.java:314)
на com.clickout.apitesting.waUITest.E2ECNTestFirefox.clickoutTestFirefox (E2ECNTestFirefox.java:126)