By the way, I have a Gradle project
This enables me to
- extract the version of source code out of Katalon Studio currently installed on my machine to store in a work directory named “versions”. See the following example:
$ tree versions -L 4
versions
├── 10.2.0
│ └── resources
│ ├── extentions
│ │ └── scripts
│ └── source
│ ├── com.kms.katalon.core
│ ├── com.kms.katalon.core.mobile
│ ├── com.kms.katalon.core.webservice
│ └── com.kms.katalon.core.webui
├── 10.2.4
│ └── resources
│ ├── extentions
│ │ └── scripts
│ └── source
│ ├── com.kms.katalon.core
│ ├── com.kms.katalon.core.mobile
│ ├── com.kms.katalon.core.webservice
│ └── com.kms.katalon.core.webui
├── 10.3.0
│ └── resources
│ ├── extentions
│ │ └── scripts
│ └── source
│ ├── com.kms.katalon.core
│ ├── com.kms.katalon.core.mobile
│ ├── com.kms.katalon.core.webservice
│ └── com.kms.katalon.core.webui
├── 10.3.1
│ └── resources
│ ├── extentions
│ │ └── scripts
│ └── source
│ ├── com.kms.katalon.core
│ ├── com.kms.katalon.core.mobile
│ ├── com.kms.katalon.core.webservice
│ └── com.kms.katalon.core.webui
├── 10.3.2
│ └── resources
│ ├── extentions
│ │ └── scripts
│ └── source
│ ├── com.kms.katalon.core
│ ├── com.kms.katalon.core.mobile
│ ├── com.kms.katalon.core.webservice
│ └── com.kms.katalon.core.webui
├── 10.4.2
│ └── resources
│ ├── extentions
│ │ └── scripts
│ ├── html
│ │ ├── html_collection_frame_template.txt
│ │ ├── html_collection_index_template.txt
│ │ ├── html_content.txt
│ │ ├── html_template.txt
│ │ ├── html_vars.txt
│ │ ├── TestSuiteCollectionTemplate.html
│ │ ├── TestSuiteTemplate.html
│ │ └── variables.txt
│ └── source
│ ├── com.kms.katalon.core
│ ├── com.kms.katalon.core.cucumber
│ ├── com.kms.katalon.core.mobile
│ ├── com.kms.katalon.core.webservice
│ └── com.kms.katalon.core.webui
├── 11.0.0
│ └── resources
│ ├── extentions
│ │ └── scripts
│ ├── html
│ │ ├── api_ai_test_report_template.html
│ │ ├── html_collection_frame_template.txt
│ │ ├── html_collection_index_template.txt
│ │ ├── html_content.txt
│ │ ├── html_template.txt
│ │ ├── html_vars.txt
│ │ ├── TestSuiteCollectionTemplate.html
│ │ ├── TestSuiteTemplate.html
│ │ └── variables.txt
│ └── source
│ ├── com.kms.katalon.core
│ ├── com.kms.katalon.core.cucumber
│ ├── com.kms.katalon.core.mobile
│ ├── com.kms.katalon.core.webservice
│ └── com.kms.katalon.core.webui
├── 11.1.1
│ └── resources
│ ├── extentions
│ │ └── scripts
│ ├── html
│ │ ├── api_ai_test_report_template.html
│ │ ├── html_collection_frame_template.txt
│ │ ├── html_collection_index_template.txt
│ │ ├── html_content.txt
│ │ ├── html_template.txt
│ │ ├── html_vars.txt
│ │ ├── TestSuiteCollectionTemplate.html
│ │ ├── TestSuiteTemplate.html
│ │ └── variables.txt
│ └── source
│ ├── com.kms.katalon.core
│ ├── com.kms.katalon.core.cucumber
│ ├── com.kms.katalon.core.mobile
│ ├── com.kms.katalon.core.webservice
│ └── com.kms.katalon.core.webui
├── 11.2.1
│ └── resources
│ ├── extentions
│ │ └── scripts
│ ├── html
│ │ ├── api_ai_test_report_template.html
│ │ ├── html_collection_frame_template.txt
│ │ ├── html_collection_index_template.txt
│ │ ├── html_content.txt
│ │ ├── html_template.txt
│ │ ├── html_vars.txt
│ │ ├── TestSuiteCollectionTemplate.html
│ │ ├── TestSuiteTemplate.html
│ │ └── variables.txt
│ └── source
│ ├── com.kms.katalon.core
│ ├── com.kms.katalon.core.cucumber
│ ├── com.kms.katalon.core.mobile
│ ├── com.kms.katalon.core.webservice
│ └── com.kms.katalon.core.webui
├── 8.6.9
│ └── resources
│ └── source
│ ├── com.kms.katalon.core
│ ├── com.kms.katalon.core.mobile
│ ├── com.kms.katalon.core.webservice
│ └── com.kms.katalon.core.webui
└── 9.7.6
└── resources
├── extentions
│ └── scripts
└── source
├── com.kms.katalon.core
└── com.kms.katalon.core.webui
- compare 2 directories under the
versionsto report the differences of 2 versions. The following zip file is an example of the output:
10.3.0_11.2.1.zip (300.5 KB) The output includes
a. directory difference summary
differences.json (121.7 KB)
b. souce code diff files.
smart-wait.js (2.9 KB)
Using this tool, I can check how a pair of Katalon Studio source code versions differ.
When somebody reports “the previous 10.3.0 worked fine, but the new version 11.2.1 works strange. Why?”, I can study how the source code versions differ. Sometimes (but not always) I can find the exact cause of the incident in the source code diff. For example, I used this tool in the following topic: