窗口大小不适用于码头工程中量角器中的无头铬,但在本地工作

时间:2018-04-04 12:02:45

标签: docker protractor selenium-chromedriver alpine google-chrome-headless

问题: chrome选项中的窗口大小在docker中运行的量角器中的无头镀铬中不起作用。

设置:

chromedriver版本:量角器5.3.1使用的2.33

Dockerfile:

FROM node:9-alpine

RUN echo @edge http://nl.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories \
    && apk add --no-cache \
    python \
    build-base \
    git \
    bash \
    openjdk8-jre-base \
    # chromium dependencies
    nss@edge \
    chromium-chromedriver@edge \
    chromium@edge 

Protractor.conf.js:

chromeDriver: '/usr/bin/chromedriver',
directConnect: true,

capabilities: {
    'browserName': 'chrome',
    'chromeOptions': {
       args: ['no-sandbox','headless','window-size=1366,768'],

相同的设置适用于没有泊坞窗环境的本地。

错误: Chrome已打开但测试用例失败(并未尝试访问应用网址)

 UnhandledPromiseRejectionWarning: WebDriverError: no such session

尝试过1:

'window-size=1366,768'
'window-size=1366x768'
'--window-size=1366x768'
'screen-size=1366x768'

尝试2:

 onPrepare: function () {

         browser.driver.manage().window().setSize(1280, 1440);
}

这也是在默认窗口大小的情况下使用镀铬打开的锻炼。

尝试3:

尝试将量角器更新为protractor@5.3.1(原为5.1)并使用

'goog:chroomeOptions' : {
   args: ['no-sandbox','headless','window-size=1366,768'],
}

有人可以指出什么问题。谢谢

2 个答案:

答案 0 :(得分:0)

尝试使用chromeoptions中的{{1}}镶边选项。我有这个问题一次,添加此标志解决了这个问题。

答案 1 :(得分:0)

这是一个记忆问题。

--shm-size=1gb

解决了它。

感谢@sylvaindumont提供解决方案。