Running Katalon Studio on Virtual Box

Hello, hope you can help.
I’ve been running Katalon Studio on my local windows 10 machine for a while now and have built up a bunch of scripts that work great, mainly against Chrome.
I am trying to get the same thing to run on a Windows 10 VM using Virtual Box, but am having problems with Chrome on there and am thinking it is a simple thing I have forgotten to do?
The scripts are all pulled into the VM using github.

The scripts work fine on the VM with firefox.
They work fine with headless Chrome.

But running it in Chrome leads to it being
Nothing in the Log View or the Console.

In the Event log is this:
chromedriver is located at default location: C:\Katalon_Studio_Windows_64-5.8.0\configuration\resources\drivers\chromedriver_win32\chromedriver.exe. In case your browser is updated to a newer version, please use this command to update chromdriver: --config -webui.autoUpdateDrivers=true
Launcher status after execution process completed: Terminated
Launcher status after execution process completed: Terminated

Chrome version is 83.0.4102.106 (same as my local machine)
Chrome drive is the same as local machine (and I’ve run the update utility)

Katalon is version 7.5.5

The simplest of scripts:
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
WebUI.openBrowser(“https://bbc.co.uk”)

Opens fine in Firefox. Chrome(headless) works fine.

Any help greatly appreciated.

Weird. I agree, it sounds like it could be a Chrome issue. I think @duyluong might be the best person to get involved.

I use Win10 Hyper-V VMs all the time without issue - I know that doesn’t help but you may want to try that.

@Brandon_Hein Any Chrome VM quirks you know about?

This would suggest that you are executing with a different version of Katalon Studio, namely, 5.8.0.

1 Like

!

hi there - pretty sure it is 7.5.5 - see screen shot. And I downloaded the latest from the K site a couple fo days back.

I named the installation folder the same as my local pc - which is also 7.5.5. - I did that in case there was some weird reason there was some kind of reference to an installation in the git copy of the files - but since then I have just created this simple “open bbc site” script.
One weird thing about the “update” process is 5.8 is where it installed it the first time I used it, and then the updates have just gone in there.

To rule out any issues with the automatic update process, please download the appropriate chrome driver version from here and extract it manually to your 7.5.5 install:

{7.5.5_install}/configuration/resources/drivers/chromedriver_win32

Ok, Chrome is Version 83.
Driver version 83 downloaded, extracted and placed in the folder (replacing the other one already there)
same problem
Please see gif. It happens so quickly whenchrome it fails.

Looks like it throws an exception further up in the log, can you switch to the console tab and paste the entire log here?

2020-06-22 21:55:24.807 INFO c.k.katalon.core.main.TestCaseExecutor - --------------------
2020-06-22 21:55:24.859 INFO c.k.katalon.core.main.TestCaseExecutor - START Test Cases/poc
2020-06-22 21:55:25.891 DEBUG testcase.poc - 1: openBrowser(“https://bbc.co.uk”)
2020-06-22 21:55:26.450 INFO c.k.k.core.webui.driver.DriverFactory - Starting ‘Firefox’ driver
Jun 22, 2020 9:55:26 PM org.openqa.selenium.remote.DesiredCapabilities firefox
INFO: Using new FirefoxOptions() is preferred to DesiredCapabilities.firefox()
2020-06-22 21:55:26.625 INFO c.k.k.core.webui.driver.DriverFactory - Action delay is set to 0 milliseconds
1592859328700 mozrunner::runner INFO Running command: “C:\Program Files\Mozilla Firefox\firefox.exe” “-marionette” “-foreground” “-no-remote” “-profile” “C:\Users\User\AppData\Local\Temp\rust_mozprofile.3pIo72fqzXns”
JavaScript error: resource://gre/modules/XULStore.jsm, line 66: Error: Can’t find profile directory.
1592859331953 Marionette INFO Listening on port 50169
1592859332365 Marionette WARN TLS certificate errors will be ignored for this session
1592859332366 Marionette INFO Proxy settings initialised: {“proxyType”:“direct”}
Jun 22, 2020 9:55:32 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
2020-06-22 21:55:32.684 INFO c.k.k.core.webui.driver.DriverFactory - sessionId = e99ad88b-7fab-40b0-9edc-9cec45eda95b
2020-06-22 21:55:32.765 INFO c.k.k.core.webui.driver.DriverFactory - browser = Firefox 77.0
2020-06-22 21:55:32.767 INFO c.k.k.core.webui.driver.DriverFactory - platform = Windows 10
2020-06-22 21:55:32.772 INFO c.k.k.core.webui.driver.DriverFactory - seleniumVersion = 3.141.59
2020-06-22 21:55:32.811 INFO c.k.k.core.webui.driver.DriverFactory - proxyInformation = ProxyInformation { proxyOption=NO_PROXY, proxyServerType=HTTP, username=, password=********, proxyServerAddress=, proxyServerPort=0, executionList="", isApplyToDesiredCapabilities=true }
2020-06-22 21:55:34.344 INFO c.k.katalon.core.main.TestCaseExecutor - END Test Cases/poc

it doesn’t seem to change when Chrome fails

I see something in the event log after your chrome execution, the red text here:

Warning: NLS missing message: OFFLINE_ACTIVATION in: com.kms.katalon.constants.messages
Warning: NLS missing message: ENTERPRISE_TRIAL_LICENSE in: com.kms.katalon.constants.messages
Warning: NLS missing message: ActivationDialogV2_LBL_ENTERPRISE_LICENSE in: com.kms.katalon.constants.messages
Start checking and mark activated for GUI mode
Start checking and mark activated for GUI mode
Start getting machine ID on Windows
Start getting machine ID on Windows
Start appending additional signatures
Start appending additional signatures
hardwareSerialNumber
hardwareSerialNumber
osDependentUsername user
osDependentUsername user
End appending additional signatures f389eb61-4702-4556-bbe6-1509ac5b9a68__user
End appending additional signatures f389eb61-4702-4556-bbe6-1509ac5b9a68__user
End getting machine ID on Windows a282fe9a6c9f2b97be42566994318275
End getting machine ID on Windows a282fe9a6c9f2b97be42566994318275
log4j:WARN No appenders could be found for logger (org.apache.http.client.protocol.RequestAddCookies).
log4j:WARN Please initialize the log4j system properly.
End checking and mark activated for GUI mode
End checking and mark activated for GUI mode
Start check license task
Start check license task
21:53:28.151 [Worker-1] DEBUG org.eclipse.jgit.util.FS - readpipe [bash, --login, -c, which git],C:\Users\User
21:53:29.010 [Worker-1] DEBUG org.eclipse.jgit.util.FS - readpipe may return ‘/usr/bin/git’
21:53:29.010 [Worker-1] DEBUG org.eclipse.jgit.util.FS - remaining output:

21:53:29.026 [Worker-1] DEBUG org.eclipse.jgit.util.FS - readpipe [git, --version],\usr\bin
21:53:29.026 [Worker-1] ERROR org.eclipse.jgit.util.FS - Caught exception in FS.readPipe()
java.io.IOException: Cannot run program “git” (in directory “\usr\bin”): CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at org.eclipse.jgit.util.FS.readPipe(FS.java:500)
at org.eclipse.jgit.util.FS.readPipe(FS.java:464)
at org.eclipse.jgit.util.FS.discoverGitSystemConfig(FS.java:613)
at org.eclipse.jgit.util.FS.getGitSystemConfig(FS.java:653)
at org.eclipse.jgit.util.SystemReader$Default.openSystemConfig(SystemReader.java:99)
at org.eclipse.jgit.internal.storage.file.FileRepository.(FileRepository.java:181)
at org.eclipse.jgit.storage.file.FileRepositoryBuilder.build(FileRepositoryBuilder.java:92)
at org.eclipse.jgit.storage.file.FileRepositoryBuilder.create(FileRepositoryBuilder.java:111)
at org.eclipse.egit.core.RepositoryCache.lookupRepository(RepositoryCache.java:57)
at org.eclipse.egit.core.project.GitProjectData.map(GitProjectData.java:689)
at org.eclipse.egit.core.project.GitProjectData.remapAll(GitProjectData.java:647)
at org.eclipse.egit.core.project.GitProjectData.setRepositoryMappings(GitProjectData.java:456)
at org.eclipse.egit.core.op.ConnectProviderOperation.connectProject(ConnectProviderOperation.java:144)
at org.eclipse.egit.core.op.ConnectProviderOperation.execute(ConnectProviderOperation.java:102)
at org.eclipse.egit.core.internal.job.JobUtil$1.run(JobUtil.java:53)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.(ProcessImpl.java:386)
at java.lang.ProcessImpl.start(ProcessImpl.java:137)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
… 16 common frames omitted
21:53:29.026 [Worker-1] DEBUG org.eclipse.jgit.util.FS - readpipe returns null
com.kms.katalon.composer.artifact has been installed.
Latest plugins responses: [{“id”:134644,“status”:1,“expiration_date”:null,“created_at”:“2020-02-15T08:46:12.478Z”,“updated_at”:“2020-02-15T08:46:12.478Z”,“active”:true,“send_expiration_mail”:false,“send_expiration_reminder_mail”:false,“user_id”:31789,“bundled_plugin_id”:null,“product”:{“id”:180,“plugin_id”:“com.katalon.katalon-studio-testng;singleton=true”,“name”:“TestNG/JUnit Keywords”,“description”:“The built-in TestNG/JUnit keywords are supported for executing your TestNG/JUnit/Selenium test scripts in Katalon Studio.”,“logo”:“sfyj32l3e72rv1gu-TestNg_JUnit_selenium_Keywords_140px.png”,“repository”:null,“documentation”:“http://docs.katalon.com/katalon-studio/docs/selenium-testng-junit-migration.html",“reference”:null,“license”:“https://www.katalon.com/terms/katalon-store-term/katalon-plugin-license-agreement/”,“release_date”:null,“qa_url”:null,“status”:1,“created_at”:“2020-04-20T05:50:41.043Z”,“updated_at”:“2020-05-15T10:07:25.977Z”,“overview”:"From 7.4.0, Katalon Studio supports migrating test scripts from Selenium, TestNG, or JUnit projects. You can reuse, maintain, and execute your test cases right in Katalon Studio. \r\n\r\nThis plugin is for facilitating the migration process by enabling the TestNG/JUnit built-in keywords, including runTestNGTestClasses, runTestNGTestSuites, and runJUnitTestCases in the manual view.\r\n”,“price”:null,“stripe_product_id”:null,“reject_reason”:null,“latest_version_number”:null,“product_type_id”:1,“marketplace_id”:null,“product_versions”:[{“id”:255,“number”:“1.0.0”,“source”:“pa462ufxqnnd4cqz-katalon-studio-testng-junit-keywords-1.0.0.jar.zip”,“status”:1,“created_at”:“2020-04-20T05:50:41.051Z”,“updated_at”:“2020-04-20T05:50:51.731Z”,“min_app_version”:“7.4.0”,“max_app_version”:null,“change_log”:""}],“product_type”:{“id”:1,“name”:“Katalon Studio Plugin”,“description”:“Katalon Studio Plugin”,“sequence”:2,“created_at”:“2019-01-30T01:47:14.080Z”,“updated_at”:“2019-01-30T01:47:14.080Z”,“view_type”:0},“product_categories”:[{“id”:2,“name”:“Utilities”,“short_name”:"",“description”:“Utilities”,“order”:2,“hide”:false,“use_carousel”:false,“created_at”:“2019-06-13T08:48:28.556Z”,“updated_at”:“2019-09-06T09:14:14.136Z”,“product_join_category”:{“id”:214,“created_at”:“2020-04-21T05:45:04.120Z”,“updated_at”:“2020-04-21T05:45:04.120Z”,“product_id”:180,“category_id”:2}}],“logoUrl”:“https://katalon-store.s3.amazonaws.com/sfyj32l3e72rv1gu-TestNg_JUnit_selenium_Keywords_140px.png",“categories”:“Utilities”,“url”:"/product/180"},“license_type”:{“id”:1,“name”:“Free”,“active”:true,“day”:null,“month”:null,“year”:null,“created_at”:“2019-01-30T01:47:14.080Z”,“updated_at”:“2019-01-30T01:47:14.080Z”},“free”:true,“trial”:false,“paid”:false,“expired”:false,“canceled”:false,“uninstalled”:false,“finalized”:false,“compatible_versions”:[{“id”:255,“number”:“1.0.0”,“source”:“pa462ufxqnnd4cqz-katalon-studio-testng-junit-keywords-1.0.0.jar.zip”,“status”:1,“created_at”:“2020-04-20T05:50:41.051Z”,“updated_at”:“2020-04-20T05:50:51.731Z”,“min_app_version”:“7.4.0”,“max_app_version”:null,“change_log”:""}],“latest_compatible_version”:{“id”:255,“number”:“1.0.0”,“source”:“pa462ufxqnnd4cqz-katalon-studio-testng-junit-keywords-1.0.0.jar.zip”,“status”:1,“created_at”:“2020-04-20T05:50:41.051Z”,“updated_at”:“2020-04-20T05:50:51.731Z”,“min_app_version”:“7.4.0”,“max_app_version”:null,“change_log”:""},“current_version”:{“id”:255,“number”:“1.0.0”,“source”:“pa462ufxqnnd4cqz-katalon-studio-testng-junit-keywords-1.0.0.jar.zip”,“status”:1,“created_at”:“2020-04-20T05:50:41.051Z”,“updated_at”:“2020-04-20T05:50:51.731Z”,“min_app_version”:“7.4.0”,“max_app_version”:null,“change_log”:""},“latest_version”:{“id”:255,“number”:“1.0.0”,“source”:“pa462ufxqnnd4cqz-katalon-studio-testng-junit-keywords-1.0.0.jar.zip”,“status”:1,“created_at”:“2020-04-20T05:50:41.051Z”,“updated_at”:“2020-04-20T05:50:51.731Z”,“min_app_version”:“7.4.0”,“max_app_version”:null,“change_log”:""},“created_date”:"February 15th 2020, 8:46 am”,“download_url”:“https://plugins.katalon.com/pa462ufxqnnd4cqz-katalon-studio-testng-junit-keywords-1.0.0.jar.zip?Expires=1592877219&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9wbHVnaW5zLmthdGFsb24uY29tL3BhNDYydWZ4cW5uZDRjcXota2F0YWxvbi1zdHVkaW8tdGVzdG5nLWp1bml0LWtleXdvcmRzLTEuMC4wLmphci56aXAiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE1OTI4NzcyMTl9fX1dfQ__&Signature=E7TBTz5NAg4r0e1UksXRLK06XocdiW9yFv-y3QztnOdj41n9TrAn1UQMhe~ANz7k3PH1RMkKyh2R8KoNdj3Q~bPmePnFBg9V-Mzeyl~Unt3VRrQVbfcQBvHUK82vkgh5Es63vfbR2yuzagYtImam7O2g88ykj6dBYlXGPJJ-qhUXV8OuWKSbt5~WHhQFsaL2DmiA3ylQblrlASZy7WzMWZPnrlVmZUudvWn7tmWuZvjY~-CQrQ36syTRxeDYCHQn-fJj~7ZEdMs1ixN5hquuxgeyE4sHdKpY4nr9FpJiWVzbUsu5I998~I98tmKlN4vDkOsOChOh1sTxiEm0yee27Q__&Key-Pair-Id=APKAIPDLSSZCBYT7R3MA”}]
chromedriver is located at default location: C:\Katalon_Studio_Windows_64-5.8.0\configuration\resources\drivers\chromedriver_win32\chromedriver.exe. In case your browser is updated to a newer version, please use this command to update chromdriver: --config -webui.autoUpdateDrivers=true
Launcher status after execution process completed: Terminated
Launcher status after execution process completed: Terminated
chromedriver is located at default location: C:\Katalon_Studio_Windows_64-5.8.0\configuration\resources\drivers\chromedriver_win32\chromedriver.exe. In case your browser is updated to a newer version, please use this command to update chromdriver: --config -webui.autoUpdateDrivers=true
Launcher status after execution process completed: Terminated
Launcher status after execution process completed: Terminated
gecko driver is located at default location: C:\Katalon_Studio_Windows_64-5.8.0\configuration\resources\drivers\firefox_win64\geckodriver.exe. In case your browser is updated to a newer version, please use this command to update gecko driver: --config -webui.autoUpdateDrivers=true

Mon Jun 22 21:55:32 BST 2020
java.lang.NoClassDefFoundError: org/openqa/selenium/remote/RemoteWebDriver
at com.kms.katalon.execution.session.ExecutionSession.startWatcher(ExecutionSession.java:39)
at com.kms.katalon.execution.session.ExecutionSessionServiceRunnable.run(ExecutionSessionServiceRunnable.java:49)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.remote.RemoteWebDriver cannot be found by com.kms.katalon.execution_1.0.0.202006031000
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 3 more

Mon Jun 22 21:55:33 BST 2020
java.lang.NoClassDefFoundError: org/openqa/selenium/remote/RemoteWebDriver
at com.kms.katalon.execution.session.ExecutionSession.startWatcher(ExecutionSession.java:39)
at com.kms.katalon.execution.session.ExecutionSessionServiceRunnable.run(ExecutionSessionServiceRunnable.java:49)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.remote.RemoteWebDriver cannot be found by com.kms.katalon.execution_1.0.0.202006031000
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 3 more

Launcher status after execution process completed: Running
Launcher status after execution process completed: Running
chromedriver is located at default location: C:\Katalon_Studio_Windows_64-5.8.0\configuration\resources\drivers\chromedriver_win32\chromedriver.exe. In case your browser is updated to a newer version, please use this command to update chromdriver: --config -webui.autoUpdateDrivers=true
Launcher status after execution process completed: Terminated
Launcher status after execution process completed: Terminated

Hmm this seems to be the root of the problem. I still think it has to do with 7.5.5 looking in your 5.8 install for the driver. Not sure how/why it’s doing that, but there’s no way that’s correct. I’m wondering if you can move/remove your 5.8 install to resolve the issue. The only risk there is that if you delete (or move? haven’t tried it) your 5.8 install, you cannot reactivate it anymore.

Maybe if I uninstall it (its only a VM), and reinstall, leaving it to the default install path. Then don’t try with the git pull, just create the simple test and see if that works.

Thanks for your help - I’ll have a go tomorrow and let you know how I get on.

1 Like

Please do, thanks.

1 Like

Agreed. Pretty sure RemoteWebDriver and SmartWaitWebDriver did a switch-dance around about 7.0 if I recall…

Also wondering if a savage clean of the project might cure it.

Not sure if this is related, but another thing to consider

A common cause for Chrome to crash during startup is running Chrome as root user (administrator) on Linux. While it is possible to work around this issue by passing ‘–no-sandbox’ flag when creating your WebDriver session, such a configuration is unsupported and highly discouraged. Please configure your environment to run Chrome as a regular user instead.

Hi guys
thanks for all your help on this.
A simple uninstall / reinstall of katalon solved the issue.

Don’t know why I didn’t do this sooner - on/off is usually my goto fix.

Anyways, all working now, thank you :slight_smile:

3 Likes

Good to hear.