Global Variables – How to define your test environment

Before we get too deep into creating scripts I wanted to point out the use of Global Variables since several of the screenshots already reference something called GlobalVariable.baseurl + "/tasks" or something similar.

I saw this referenced in several Katalon examples, but the reason for doing it wasn’t clear. If you recall from the Selenium IDE, there was a field where you could enter the base URL of the site. This meant you could run the same tests in QA and Production with just a change to the URL. This accomplishes the same functionality in Katalon Studio. The base URL is set for QA 99% of the time and when you want to run tests in Production, simply change the value of the Global Variable and all tests that reference that variable will use the new site address.

In this example, I’m creating a variable called "baseurl". This contains the URL of my site in the QA environment.

Click the blue X on the right sidebar of Katalon to bring up the window to define a Global Variable.

image

Within my tests, I refer to the baseurl, then add additional text to make a complete URL. These are examples of the navigateToUrl command using the variable.

WebUI.navigateToUrl(GlobalVariable.baseurl + "/v3/sales_dashboard")

WebUI.navigateToUrl(GlobalVariable.baseurl + "/tasks)

WebUI.navigateToUrl(GlobalVariable.baseurl + "/prospects")

When the script is run, the baseurl is set to https://website-qa.com and the /tasks is added to the end to make https://website-qa.com/tasks

The use of Global Variables must be defined within your project, so make sure your test script has the following line within the import statements at the top:

import internal.GlobalVariable as GlobalVariable

This is a pretty important piece of functionality that wasn’t obvious to me. It’s great to make tests, but how do you use them in different environments? Now the idea makes sense to me.

Other articles of interest:

Leave a Reply

Your email address will not be published. Required fields are marked *

Recent Comments
  • How To Disable the Quicken Registration Prompt (24)
    • Joe SR>: My monthly income is deposited into my Credit Union account. I use debit whenever possible. I write checks manually and mail them. I use Quicken 2012 off-line only. I have entered all my money and investment accounts. I...
    • Prtet: Never say never….every time I swear I will never use Quicken again, I discover that there are still no viable alternatives. Amazing that there is no decent personal finance software.
    • Joe D.: Holding CTRL + Shift keys and selecting On Line | One Step Update from the main menu worked for my Quicken 2004. I’m grateful that you wrote a synopsis (“Simply put, …”) just beneath the link to the blog...
    • Susan Long: I bought my quicken disc in the beginning and it came with a registration number. I rang the helpline and they gave me the code to put in and talked me through it. It you downloaded your version then you don’t own it...
    • Peter: You might consider running your old version of Quicken on an ancient computer. This is what I have done for years. The newer versions are fraught with problems- criminal, in my opinion. One version made mathmatical errors when...
    • Roslyn Chamberlain: Can I stop the countdown in quicken 2001 says only 8 sessions left. and what will happen after?
  • Parsing Strings in Katalon – Split, Substring and Readlines (1)
    • Ellen: Thanks for sharing!! I like your contributions to Katalon topics.
  • Working with Dates and Date Formatting in Katalon Studio (6)
    • Ajoo: Thank you for the details. How do i remove leading “0” from dates. i.e. while formatting i receive 04/21/2019, but i need 4/21/2019. (same applies for date)
  • What is Katalon Studio? A Distro of Selenium, Groovy and Eclipse (1)
    • Mahesh: Looking for more posts on katalon studio.your katalon stuffs are always exiting
  • Simple wildcard searches for pattern matching (2)
    • Don Pedro: For that scenario it seems .contains would be your choice. For example, variable.contains(‘amazo n.com’) to see if the url had amazon.com. In that case, www.amazon.com, forum.amazon.com, retail.amazon.com would all...
    • Jony: Hi, How can I use a wild card to assert a URL is the one I want. I just want to verify the domain ==expected but not anything after it. Tried * but not working and only works when I have full URL.
  • Create a Dynamic Object at Runtime (2)
    • Saish: How to add shadow root parent to this runtime object..
    • Jeremy Brien: I appreciate this! I saw this post on LinkedIn this morning and was able to find a use case for it! I found that defining my xpath with an iterable variable allows me to loop through and capture text from tables created...
  • Output status messages and test information by writing to the Log File Viewer in Katalon Studio (2)
    • Don Pedro: That would be things like: log.logWarning(‘The import date listed on the site is: ‘ + importDate) log.logWarning(‘The value from the site is: ‘ + salesFigure) log.logWarning(‘Filter Results for ‘ +...
  • Setting up a repeatable Search Method in Katalon Studio (1)
    • RJ: Thanks a lot! This is very helpful 🙂