Side Script with a self signed certificate web application is not running inside a docker container with selenium side runner ver 4.0.8
🐛 Bug Report
I am not able to run a side script containing a self signed web application inside a docker container with selenium side runner ver 4.0.8 but the same is running successfully with ver 3.17.0. The side script is running successfully outside the docker container using selenium side runner ver 4.0.8 and electron application.
Below are the failure logs. Seems like the session is not getting created. Configuration: { baseUrl: 'http://host:port', capabilities: { browserName: 'chrome', acceptInsecureCerts: false, 'goog:chromeOptions': { args: [Array], excludeSwitches: [Array], extensions: [], prefs: [Object] } }, debug: true, debugConnectionMode: true, debugStartup: true, filter: '.', force: undefined, maxWorkers: 4, screenshotFailureDirectory: undefined, projects: [ '/.defaultSuite.side' ], proxyOptions: {}, proxyType: undefined, retries: 0, runId: '1a4bad57c0d7ffd1f74cbf5d3c11ba5a', path: '/usr/lib/node_modules/', server: '', jestTimeout: 60000, timeout: 30000 } Jest command: node /usr/lib/node_modules/selenium-side-runner/node_modules/jest/bin/jest.js [ '--config=/usr/lib/node_modules/selenium-side-runner/runner.jest.config.js', '--maxConcurrency=4', '--json', '--outputFile=/synthetic/runtime/ocid1.apmsyntheticmonitor.oc1.phx.aaaaaaaa5hyejuskx2gz63nr2l5pnexptvdksfcdn4ampbdpwfyvz3t2fabq/execution/1715768880000/results-2024-05-15T10-31-50.692Z.json', '--runTestsByPath', '/usr/lib/node_modules/selenium-side-runner/dist/main.test.js' ] { DISPLAY: ':0', XAUTHORITY: '/tmp/xvfb-run.vFoqd6/Xauthority.2BDqpV', HOSTNAME: '1ab7a3770d76', TERM: 'xterm', PATH: '/synthetic/chrome:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', PWD: '/etc/service/chainsaw', SELENIUM_NODE_PATH: '/lib/node_modules/selenium-side-runner/node_modules', NODE_PATH: '/lib/node_modules', SHLVL: '2', LOG_LEVEL: 'INFO', NODE_RPM: 'nodejs-16.20.2-1.0.1.el7.x86_64.rpm', NODE_TMP_PATH: '/tmp/nodejs-16.20.2-1.0.1.el7.x86_64.rpm', _: '/usr/bin/selenium-side-runner', SE_CONFIGURATION: '{"baseUrl":"http://host:port","capabilities":{"browserName":"chrome","acceptInsecureCerts":false,"goog:chromeOptions":{"args":["--auto-open-devtools-for-tabs","--disable-dev-shm-usage","--no-sandbox"],"excludeSwitches":["enable-automation"],"extensions":[],"prefs":{"download":{"default_directory":"/download"},"devtools":{"preferences":{"currentDockState":"\"bottom\"","network_log.preserve-log":true,"InspectorView.splitViewState":"{\"horizontal\":{\"size\":0.1}}"}},"profile":{"default_content_setting_values":{"automatic_downloads":1}}}}},"debug":true,"debugConnectionMode":true,"debugStartup":true,"filter":".","maxWorkers":4,"projects":["defaultSuite.side"],"proxyOptions":{},"retries":0,"runId":"1a4bad57c0d7ffd1f74cbf5d3c11ba5a","path":"/usr/lib/node_modules/","server":"","jestTimeout":60000,"timeout":30000}' } console.log Beginning test session
at Object.<anonymous>.exports.default (src/connect.ts:9:11)
console.info Building driver for chrome
at WebDriverExecutor.getDriverSync (node_modules/@seleniumhq/side-runtime/src/webdriver.ts:172:14)
console.info Driver attributes:{ capabilities: { acceptInsecureCerts: false, 'goog:chromeOptions': { args: [Array], excludeSwitches: [Array], extensions: [], prefs: [Object] } }, server: '', browserName: 'chrome' }
at WebDriverExecutor.getDriverSync (node_modules/@seleniumhq/side-runtime/src/webdriver.ts:173:14)
To Reproduce
selenium-side-runner defaultSuite.side --config-file config.yaml --base-url http://host:port --output-directory ./output/ --debug --debug-startup --debug-connection-mode --timeout 30000
Expected behavior
Test should pass
Project file reproducing this issue (highly encouraged)
{ "id": "392b6804-4f5f-43c6-87ba-c4be665fb8d7", "version": "2.0", "name": "Test", "url": "http://host:port", "tests": [{ "id": "707d7e25-3686-48c6-a593-4511ae858242", "name": "test1", "commands": [{ "id": "7582a8cb-0473-4829-9ffd-e4fba5b52b91", "comment": "", "command": "open", "target": "/link/", "targets": [], "value": "" }, { "id": "157ec09a-ebfb-4d28-a069-a3b4b0cbb49f", "comment": "", "command": "setWindowSize", "target": "1920x970", "targets": [], "value": "" }, { "id": "16a88cae-bf98-4fe4-82a1-53c161709c46", "comment": "", "command": "click", "target": "css=.book-info:nth-child(1) .btn", "targets": [ ["css=.book-info:nth-child(1) .btn", "css:finder"], ["xpath=//input[@value='Order']", "xpath:attributes"], [ "xpath=//input[2]", "xpath:position" ] ], "value": "" }, { "id": "d166f872-f893-4c36-964b-d96dbfba832d", "comment": "", "command": "click", "target": "css=.book-info:nth-child(1) .btn", "targets": [ ["css=.book-info:nth-child(1) .btn", "css:finder"], ["xpath=//input[@value='Add to Cart']", "xpath:attributes"], [ "xpath=//input[2]", "xpath:position" ] ], "value": "" }, { "id": "22907197-2ccf-47a3-8d4f-61be32bcf4d3", "comment": "", "command": "click", "target": "css=.book-info:nth-child(2) .btn", "targets": [ ["css=.book-info:nth-child(2) .btn", "css:finder"], ["xpath=(//input[@value='Add to Cart'])[2]", "xpath:attributes"], [ "xpath=//div[2]/div/div/input[2]", "xpath:position" ] ], "value": "" }, { "id": "b28eb8d9-c6a8-4a64-8acb-3ae52af6936d", "comment": "", "command": "click", "target": "id=cart", "targets": [ ["id=cart", "id"], ["linkText=Shopping Cart 2", "linkText"], ["css=#cart", "css:finder"], ["xpath=//a[@id='cart']", "xpath:attributes"], ["xpath=//a[contains(@href, './cart.jsp')]", "xpath:href"], ["xpath=//li[3]/a", "xpath:position"], [ "xpath=//a[contains(.,'Shopping Cart 2')]", "xpath:innerText" ] ], "value": "" }, { "id": "1eed41-0440-4338-938a-fdc47a9b3612", "comment": "", "command": "waitForElementPresent", "target": "css=.btn:nth-child(2)", "targets": [ ["css=.btn:nth-child(2)", "css:finder"], ["xpath=//input[@value='Check Out Async(Rest)']", "xpath:attributes"], ["xpath=//div[@id='container']/form/div/div[2]/input[2]", "xpath:idRelative"], [ "xpath=//input[2]", "xpath:position" ] ], "value": "60000" }, { "id": "1eed41-0440-4338-938a-fdc47a9b3612", "comment": "", "command": "waitForElementVisible", "target": "css=.btn:nth-child(2)", "targets": [ ["css=.btn:nth-child(2)", "css:finder"], ["xpath=//input[@value='Check Out Async(Rest)']", "xpath:attributes"], ["xpath=//div[@id='container']/form/div/div[2]/input[2]", "xpath:idRelative"], [ "xpath=//input[2]", "xpath:position" ] ], "value": "60000" }, { "id": "80a16b72-1410-40c6-84dd-c3c3bcee9d46", "comment": "", "command": "pause", "target": "3000", "targets": [], "value": "" }, { "id": "daca84e7-1c85-4cec-9a10-6f960284fffb", "comment": "", "command": "click", "target": "css=.btn:nth-child(2)", "targets": [ ["css=.btn:nth-child(2)", "css:finder"], ["xpath=//input[@value='Check Out Async(Rest)']", "xpath:attributes"], ["xpath=//div[@id='container']/form/div/div[2]/input[2]", "xpath:idRelative"], [ "xpath=//input[2]", "xpath:position" ] ], "value": "" }, { "id": "32db82a6-2ac2-4cc2-be09-d284356f729a", "comment": "", "command": "click", "target": "linkText=Your order", "targets": [ ["linkText=Your order", "linkText"], ["css=a:nth-child(3)", "css:finder"], ["xpath=//a[contains(text(),'Your order')]", "xpath:link"], ["xpath=//div[@id='cartNumberError']/a", "xpath:idRelative"], ["xpath=//a[contains(@href, 'order.jsp?orderId=33322')]", "xpath:href"], ["xpath=//div[2]/div/a", "xpath:position"], [ "xpath=//a[contains(.,'Your order')]", "xpath:innerText" ] ], "value": "" }, { "id": "3d867a6b-ad4b-42c7-8ac4-faf84c2af8e3", "comment": "", "command": "click", "target": "linkText=Product Lines", "targets": [ ["linkText=Product Lines", "linkText"], ["css=.navbar-brand", "css:finder"], ["xpath=//a[contains(text(),'Product Lines')]", "xpath:link"], ["xpath=//a[contains(@href, './')]", "xpath:href"], ["xpath=//a", "xpath:position"], [ "xpath=//a[contains(.,'Product Lines')]", "xpath:innerText" ] ], "value": "" }, { "id": "7a240559-dc46-414c-9b8b-4341476a2351", "comment": "", "command": "close", "target": "", "targets": [], "value": "" }] }], "suites": [{ "id": "d701a05a-c317-4a87-a25e-45fd268e8035", "name": "Default Suite", "persistSession": false, "parallel": false, "timeout": 300, "tests": ["707d7e25-3686-48c6-a593-4511ae858242"] }], "urls": ["http://host:port/"], "plugins": [] }
Config.yaml
capabilities: browserName: chrome acceptInsecureCerts: false goog:chromeOptions: args: [--auto-open-devtools-for-tabs,--disable-dev-shm-usage,--no-sandbox] excludeSwitches: [enable-automation] extensions: [] prefs: download: default_directory: /download devtools: preferences: currentDockState: '"bottom"' network_log.preserve-log: true InspectorView.splitViewState: '{"horizontal":{"size":0.1}}' profile: default_content_setting_values: automatic_downloads: 1
Environment
OS: Oracle Linux Docker container Selenium IDE Version: Not Applicable Selenium SIDE Runner Version: 4.0.8 Node version: 16.20.2 Browser: Google Chrome Browser Version: 116.0.5845.110 Chromedriver Version: 116.0.5845.96
PS: Please let me know in case you need any more information from my side.
Hi @toddtarsi , Did you get some time to look into this?
No, I'll give it a look a bit later this week. Sorry for the delays, work has been a bit hectic lately.
Sure, Thanks for the update.
Hi Todd, Were you able to check this?
@NikhilHedau - No, I was typing up a bit here last night actually. I don't think this will involve the side-runner. This gets down to like browser capabilities, and probably how selenium-webdriver came up to latest vs the v3 version. I would take the output of npm ls selenium-webdriver (so you have the selenium-webdriver version), and the capabilities mapping under SE_CONFIGURATION to the selenium core team here:
https://github.com/SeleniumHQ/selenium/issues/new?assignees=&labels=I-defect%2Cneeds-triaging&projects=&template=bug-report.yml&title=%5B%F0%9F%90%9B+Bug%5D%3A+
I just don't understand these layers honestly. The side runner is just a thin layer on selenium-webdriver, and the IDE is just an Electron binary with a bundled chromedriver instance. Once you go below that layer, I pretty much have no idea.
@toddtarsi , Thanks for your input.