Selenoid:Chrome 浏览器启动几秒钟然后关闭
Selenoid: Chrome Browser starts for few seconds and goes down
详情:
1. 浏览器启动一秒钟后关闭,导致下一个测试步骤设置 cookie 失败。
错误:
UnableToSetCookieError: unable to set cookie
(Session info: chrome=77.0.3865.75)
at Object.throwDecodedError (/usr/app/node_modules/selenium-webdriver/lib/error.js:550:15)
at parseHttpResponse (/usr/app/node_modules/selenium-webdriver/lib/http.js:563:13)
at Executor.execute (/usr/app/node_modules/selenium-webdriver/lib/http.js:489:26)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at async thenableWebDriverProxy.execute (/usr/app/node_modules/selenium-webdriver/lib/webdriver.js:699:17)
at async loginWithRoles (/usr/app/features/support/pages/common.js:16:3)
设置 cookie 的代码是:
await driver.get(TARGET_HOST)
await driver.manage().addCookie({
name: 'token',
value: tokenValue,
httpOnly: true,
domain: TARGET_HOST_DOMAIN,
path: '/',
secure: false
})
await driver.get(TARGET_HOST)
return driver.manage().window().setRect({width: 1920, height: 3000})
这些测试在 2019 年 9 月 13 日之前一直 运行 正常。这与 selenoid/chrome:latest
更新的日期一致。
我在撰写文件中使用以下 docker 图片:
aerokube/selenoid:最新版本
selenoid/video-recorder:最新发布
selenoid/chrome:最新
Selenium-webdriver: 4.0.0-alpha.4
任何调试提示都会有所帮助
我通过在设置 cookie 时不添加 domain
解决了这个问题。
设置 cookie 的代码现在如下所示:
await driver.get(TARGET_HOST)
await driver.manage().addCookie({
name: 'token',
value: tokenValue,
httpOnly: true,
path: '/',
secure: false
})
await driver.get(TARGET_HOST)
参见:https://bugs.chromium.org/p/chromedriver/issues/detail?id=3141
详情: 1. 浏览器启动一秒钟后关闭,导致下一个测试步骤设置 cookie 失败。 错误:
UnableToSetCookieError: unable to set cookie
(Session info: chrome=77.0.3865.75)
at Object.throwDecodedError (/usr/app/node_modules/selenium-webdriver/lib/error.js:550:15)
at parseHttpResponse (/usr/app/node_modules/selenium-webdriver/lib/http.js:563:13)
at Executor.execute (/usr/app/node_modules/selenium-webdriver/lib/http.js:489:26)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at async thenableWebDriverProxy.execute (/usr/app/node_modules/selenium-webdriver/lib/webdriver.js:699:17)
at async loginWithRoles (/usr/app/features/support/pages/common.js:16:3)
设置 cookie 的代码是:
await driver.get(TARGET_HOST)
await driver.manage().addCookie({
name: 'token',
value: tokenValue,
httpOnly: true,
domain: TARGET_HOST_DOMAIN,
path: '/',
secure: false
})
await driver.get(TARGET_HOST)
return driver.manage().window().setRect({width: 1920, height: 3000})
这些测试在 2019 年 9 月 13 日之前一直 运行 正常。这与 selenoid/chrome:latest
更新的日期一致。
我在撰写文件中使用以下 docker 图片: aerokube/selenoid:最新版本 selenoid/video-recorder:最新发布 selenoid/chrome:最新
Selenium-webdriver: 4.0.0-alpha.4
任何调试提示都会有所帮助
我通过在设置 cookie 时不添加 domain
解决了这个问题。
设置 cookie 的代码现在如下所示:
await driver.get(TARGET_HOST)
await driver.manage().addCookie({
name: 'token',
value: tokenValue,
httpOnly: true,
path: '/',
secure: false
})
await driver.get(TARGET_HOST)
参见:https://bugs.chromium.org/p/chromedriver/issues/detail?id=3141