## OS
Windows 7
## Katalon Studio Version
5.4.1
## Katalon Studio Logs
attached
## Browser for desktop Web testing
Google Chrome 66.0.3359.139 with Force-Installed Extension
## Step to reproduce
Here is the demo project I made: GitHub - kazurayam/OpenChromeOnBehalfOfKatalonStudio: 3 ways to launch Chrome browser from Katalon Studio
(1) When you run TC1_defaultWayOfOpeningBrowser, it runs successful. In this case I used the usual way of opening Chrome browser: I clicked “Run with Chrome” button. A chromedriver log file C:/temp/chromedriver_TC1.log is written, attached here. You can find the command line to start Google Chrome browser. It looks like this:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --chrome.switches --disable-background-networking --disable-client-side-phishing-detection --disable-default-apps --disable-extensions --disable-extensions-except="C:\Users\qcq0264\AppData\Local\Temp\scoped_dir10936_18528\internal" --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable-sync --disable-web-resources --enable-automation --enable-logging --force-fieldtrials=SiteIsolationExtensions/Control --ignore-certificate-errors --log-level=0 --metrics-recording-only --no-first-run --password-store=basic --proxy-server=ftp=172.24.2.10:8080;http=172.24.2.10:8080;https=172.24.2.10:8080 --remote-debugging-port=12085 --test-type=webdriver --use-mock-keychain --user-data-dir="C:\Users\qcq0264\AppData\Local\Temp\scoped_dir10936_19019" data:,
Here you can find --disable-extensions switch and --disable-extensions-exept switch are specified.
(2) When you run TC2_openOrdinaryChrome, it runs successful. In this case I used a tricky way of opening Chrome browser: my test case script instantiates a ChromeDriver and let Katalon Studio use it by calling DriverFactory.changeWebDriver(driver) method. Another chromedriver log file C:/temp/chromedriver_TC2.log is written, attached here. You can find the command line to start Google Chrome browser. It looks like this:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-background-networking --disable-client-side-phishing-detection --disable-default-apps --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable-sync --disable-web-resources --enable-automation --enable-logging --force-fieldtrials=SiteIsolationExtensions/Control --ignore-certificate-errors --load-extension="C:\Users\qcq0264\AppData\Local\Temp\scoped_dir6552_18804\internal" --log-level=0 --metrics-recording-only --no-first-run --password-store=basic --remote-debugging-port=12080 --test-type=webdriver --use-mock-keychain --user-data-dir="C:\Users\qcq0264\AppData\Local\Temp\scoped_dir6552_29149" data:,
This command line looks similar as above, but not identical. How is it different from the above? No --disable-extensions switch is given; no --disable-extensions-except switch is given either.
## Expected behavior
My test case TC2_openOrdinaryChrome will fail somehow (‘Chrome not reachable’ possibly?). I expected so because it lacks --disable-extensions and --disable-extensions-except switches.
## Actual behavior
TC2_openOrdinaryChrome succeeded. Katalon Studio successfully opened Chrome browser, it successfully communicated with Chrome, verification keywords succeeded.
## My requirment
Having these switches On in the command line seems to be unnecessary. I hope --disable-extensions and --disable-extensions-except switches are removed.
## My thought
TC2_openOrdinaryChrome’s proves that –disable-extensions and --disable-extensions-except switches are not necessary for Katalon Studio to communicate with Chrome browser.
As TC1_defaultWayOfOpeningBrowser shows, Katalon Studio 5.4.1 is implemented to start chrome.exe with these switches. This fact is a problem for me:
Google Chrome’s Force-Installed Extension can not be disabled by user or by --disable-extensions* switches in the command line. I am afraid that Katalon Team had never taken this factor into design consideration.
## Why significant for me
I am quite willing to introduce Katalon Studio to my colleague. However, the --disable-extensions switch makes it very difficult for me to evangelize. In my company, Google Chrome is the default browser. They will start using Katalon Studio with Chrome first. Their Chrome has a force-installed extension to meet Company’s security policy. Soon they will find Katalon Studio does not work well! — Decision made; Don’t go for it.
## Memo
Some forks find difficulty to run tests with Chrome with extensions of their choice enabled.
- [Chrome] Cannot exclude some command-line switches - Archive - Katalon Community
- http://forum.katalon.com/discussion/2145/running-extensions-counting-objects/p1 — Hahn Tran said ‘To run browser with extensions’ is a feature we are implementing in future releases.
- Extension in the Chrome browser - Archive - Katalon Community
Though I am not sure if --disable-extensions switch and enabling extensions of users’ choice relates or not.