selenium-ide icon indicating copy to clipboard operation
selenium-ide copied to clipboard

Side Script with a self signed certificate web application is not running inside a docker container with selenium side runner ver 4.0.8

Open NikhilHedau opened this issue 1 year ago • 6 comments

🐛 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.

NikhilHedau avatar May 16 '24 11:05 NikhilHedau

Hi @toddtarsi , Did you get some time to look into this?

NikhilHedau avatar May 22 '24 06:05 NikhilHedau

No, I'll give it a look a bit later this week. Sorry for the delays, work has been a bit hectic lately.

toddtarsi avatar May 22 '24 14:05 toddtarsi

Sure, Thanks for the update.

NikhilHedau avatar May 23 '24 06:05 NikhilHedau

Hi Todd, Were you able to check this?

NikhilHedau avatar Jul 02 '24 08:07 NikhilHedau

@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 avatar Jul 02 '24 13:07 toddtarsi

@toddtarsi , Thanks for your input.

NikhilHedau avatar Jul 04 '24 07:07 NikhilHedau