问题: 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'],
}
有人可以指出什么问题。谢谢
答案 0 :(得分:0)
尝试使用chromeoptions
中的{{1}}镶边选项。我有这个问题一次,添加此标志解决了这个问题。
答案 1 :(得分:0)
这是一个记忆问题。
--shm-size=1gb
解决了它。
感谢@sylvaindumont提供解决方案。