SeleniumHQ / selenium-ide

Open Source record and playback test automation for the web.
https://selenium.dev/selenium-ide/
Apache License 2.0
2.84k stars 768 forks source link

Proxy issue: The command line option 'bypass' is considering only the first value, remaining values are ignored. #1318

Open farooqrahman opened 2 years ago

farooqrahman commented 2 years ago

🐛 Bug Report

In the proxy option as suggested in the document, the 'bypass' option is not considering multiple values. Only the first option value is considered, remaining values are ignored. I am passing the proxy options in command line not in the .side.yaml.

To Reproduce

Used below command to pass proxy options

selenium-side-runner Testing.side -c "browserName=chrome" --proxy-type=manual --proxy-options="http=http://proxy-url.com:80 https=http://proxy-url.com:80 bypass=[https://www.google.com, https://www.facebook.com]" --debug

Only the 'https://www.google.com' value is considered. When I tried to open the google.com it didn't loaded because proxy-server restricted to load it. But when I tried to open facebook.com it opened. Ideally, the facebook.com shouldn't be loaded because proxy-server should also restrict it.

When I changed the order for 'bypass' values: selenium-side-runner Testing.side -c "browserName=chrome" --proxy-type=manual --proxy-options="http=http://proxy-url.com:80 https=http://proxy-url.com:80 bypass=[https://www.facebook.com, https://www.google.com]" --debug

Now, faebook.com didn't loaded but google.com loaded.

Expected behavior

Expected behavior is, proxy option 'bypass' should consider multiple values.

Project file reproducing this issue (highly encouraged)

{ "id": "53a04cc8-12df-442c-8957-f15e4ae2e663", "version": "2.0", "name": "GoogleSide", "url": "https://www.google.com", "tests": [ { "id": "492547f6-2fd8-4666-83c6-17e5864166f6", "name": "googletest", "commands": [ { "id": "b5d9139c-b6f1-411d-99f7-7dc547b2a94b", "comment": "", "command": "open", "target": "/", "targets": [], "value": "" }] }], "suites": [{ "id": "be09eb69-2da8-4726-8545-0956b6433e5d", "name": "Default Suite", "persistSession": false, "parallel": false, "timeout": 300, "tests": ["492547f6-2fd8-4666-83c6-17e5864166f6"] }], "urls": ["https://www.google.com/"], "plugins": [] }

Environment

OS: RedHat Linux Selenium SIDE Runner Version: 3.17.0 Please note that selenium-side-runner supports Node.js 8 - 10 Node version: 12.14.1 Browser: Chrome Browser Version: 79.0.3945.130

toddtarsi commented 2 years ago

Very interesting, thank you for providing a good reproduction path. Unfortunately, my current and most immediate goal is v4 of the IDE, which I'm aiming to get out around April. After that is out, I intend to come back around and revisit / triage more nuanced issues like this. I'm sorry if this affects your ability to perform your workflow, but its the best move I can make for the long term health of this tooling.

NikhilHedau commented 1 year ago

Hi @toddtarsi , I tried to run the above scenario using selenium side runner version 4.0.0-alpha.40 and facing the same issue. Can you please check this once you have time?