Katalon Studio for Test Automation – Simple & Powerful

Recently I came to know a Tester/Developer friendly Test Automation tool Katalon Studio. I am really impressed with the provided features of Katalon Studio 4.5. I have seen all features which are required for Test Automation. I can say this is a comprehensive Test Automation Tool, a cluster of Selenium, Appium, QTP, SOAPUI for both Web & Mobile Apps testing.

What is Katalon Studio

Katalon Studio is a Free powerful test automation toolset for testers & developers solving many challenges we face in Test Automation. This tool can be used for Functional Testing (Web & Mobile), Webservices Testing as well. Katalon Studio hides all technical complexities and provides us a powerful & friendly UI with the manual mode. A tester can simply drag-drop, select built-in keywords and automate test cases with ease. Katalon comes in handy with all necessary software Android SDK, Web drivers to drive browsers, and other required dependencies.

Recently I came to know a Tester/Developer friendly Test Automation tool Katalon Studio. I am really impressed with the provided features of Katalon Studio 4.5. I have seen all features which are required for Test Automation. I can say this is a comprehensive Test Automation Tool, a cluster of Selenium, Appium, QTP, SOAPUI for both Web & Mobile Apps testing.

What is Katalon Studio

Katalon Studio is a Free powerful test automation toolset for testers & developers solving many challenges we face in Test Automation. This tool can be used for Functional Testing (Web & Mobile), Webservices Testing as well. Katalon Studio hides all technical complexities and provides us powerful & friendly UI with the manual mode. Tester can simply drag-drop, select built-in keywords and automate test cases with ease. Katalon comes in handy with all necessary software Android SDK, Web drivers to drive browsers, and other required dependencies.

0 (1)

Why should I use Katalon for Test Automation

  • First of all it is a Freeware. Freely available to the testing community
  • Easy installation, Configuration is not at all a challenge
  • Built-in project templates
  • Record & Playback feature
  • Limited coding skill required
  • Built-in object repository,object identification
  • Fully supports Web, Android, iOS and API testing
  • Database Testing can be done (Coding skill required)
  • Supports Java/Groovy languages
  • Supports Data-driven Testing
  • Experienced programmers can create and execute sophisticated test scripts.
  • Can be executed in Chrome, Firefox, IE, Headless Browsers..
  • Can be integrated with GIT, JIRA, Jenkins, qTest, Teamcity, Kobiton, Slack
  • Detailed Reporting Structure
  • Katalon Community Support for questions and updates
  • Detailed documentation & user manual

Here you can find the comparison of tools with Katalon.

Who doesn’t love the tool which helps testers with no programming experience to automate their applications just by using recording and built-in keywords to create and execute test scripts easily and faster. I can say this framework is very sophisticated, you can also tag test cases into multiple test suites (sanity, regression). You can import Test Data from your local system or database or you may create data internally within the IDE. We can declare global variables to validate in test cases. Also, reports get generated with detailed information (HTML, CSV formats).

0 (2)

I am not only referring to Web Applications, we can use same Katalon IDE to automate Mobile Apps with ease. We just need to install Appium in our machine and configure the path in settings with few clicks. You can simply automate the app using built-in mobile keywords. Anyway, Katalon allows you to write custom code depends on your requirement.

0 (3)

I used to buy hours to create a Page Object Model in Selenium. But with Katalon Object Spy a built-in feature which helps us to identify the objects much faster and easier. It’s similar to Object Spy in QTP. Now, this is really a time-saving feature.
0 (4)

We can also add identified objects to our repository with one click, which needed for reusability, easy maintenance, easy debugging.

I generally use SOAPUI or Custom code in Java to test the API’s, now with Katalon it is so simple to test the API and capture the report in detail. This supports both REST & SOAP.

0 (5)

As I said, this can be integrated with your GIT repository, CI(Jenkins), Test Management tools like Jira, qTest. I believe we can always code to integrate tools like Sikuli, AutoIT which depends on our requirement.

Who doesn’t like it when all these powerful & useful features come in handy. This is an All-in-one tool. Would you like to try it? You can download it from here. You can always share your opinions/feedback/suggestions by posting a comment

I should thank Katalon Team for bringing this powerful tool as a Freeware to the testing community.

Other References

Katalon vs Selenium

Katalon Documentation

Katalon Tutorials

Advertisements

Simple REST API Testing Framework

Even though there are several REST API Testing Frameworks available in the market today, they may not always suite your application, or may need modifications based on your requirements. This may call for the creation of your own rest testing framework.
We will be creating a simple Rest Testing Framework in Java and JUnit that could be used for any testing scenarios.

2318.WithAPIArchitecture

Continue reading

Test Automation with Selenium Object Bank & Cucumber JVM

This article is for the people who would like to automate their applications pragmatically with less effort. We all know, designing a framework for every project is a big deal and a tiresome process. You may say, ‘I am using the Page Object Model and TestNG’. It’s not just adopting certain frameworks, what matters is, how much time you’ve spent on designing the page objects. So, this article tells you how to facilitate & mitigate incommodious tasks using Selenium Object Bank and Cucumber JVM. You can consider this as a Hybrid Framework. Click here to download sample project (Cucumber with SOB).

What is Selenium Object Bank

Selenium Object Bank (SOB) is a project introduced by Automation Testing Utilities. Using this, we can reduce the little effort in creating page objects. The objectives of SOB are

  • Storing all the Objects in a central location
  • Changing Object properties without any modification on the Script
  • Readability and clear understanding of the automation steps performed by just looking into the Script
  • Minimizing the Script code by Object Notation
  • Creating Robust Scripts
  • Reusability of the Objects
  • Identifying the Objects with different locators other than those provided by Web Driver (id, name, XPath, CSS, class, tagName)

What is Cucumber

Cucumber allows you to write feature documentation in Plain Text. You could sit with your Client or Business Analyst to write down the features to be built on your application. Proper use of this framework has a great potential to bridge the gap between business people and development people. Anyway, I am not gonna illustrate every nook and cranny here. Simply saying, cucumber JVM will generate the test methods for you so that you don’t need to spend time on designing test methods again. You can surf on the internet for more information on Cucumber.

How to use SOB

Selenium Object Bank is available as a Plugin for Eclipse IDE. You must follow a few steps to avail the beauty of it.

Step 1. You need to download the Plugin from here and download SOB jar from here
Step 2. Launch Eclipse IDE, click on Help –> Install New Software

0


Step 3
. You should see a window with ‘Add’ button. On clicking ‘Add’, you should see a pop up ‘Add to Repository‘ which allows you to add the downloaded Plugin. Just click on Local and browse the extracted zip.

1


Step 4
. Once the Plugin directory is selected, the path is shown in the small window. Click on the ‘Ok’ button, you can also give the name it’s optional.

2

Once it’s done, you should see ‘Selenium Object Bank Manager‘ on right-clicking any class

How to use Cucumber

It’s quite simple, we need to design scenarios in features files which states the behavior of the application in plain English. Once you’re done with it, just right click on the feature file and run as ‘Cucumber Feature’ which generates test methods saying ‘You can implement missing steps with the snippets below’ in the console.

3

How to use Cucumber JVM with Selenium Object Bank

Once you get the test methods on running cucumber feature files, you need to create step definitions for all the scenarios. For that just create a Package named ‘com.stepDef’ and create a class of that feature. Now copy the test methods from the console and paste it in the class you have created.

Right click on that class, you should see ‘Selenium Object Bank Manager‘. Just click it.

4

Now here comes the interesting part, you should see a control panel where you can add the page objects present in that page.

Just give proper readable object name and also Attribute (XPath) & Value (value).

From the SOB window, you can see the available Objects in the left Pane
When you click on any Object from the left pane, you can see the Object details and the Element Tag type from the Properties table and the Select Box
To Add an Object, Enter a Unique Object Name in the field, Select the element tag type, enter the attribute and its value (you can add more than one locator) and click on Add button.

Once you’re done with adding page objects close the window and Refresh the Project. A package starts with ‘objects.mapper…’ and a folder ‘ObjectBank’ along with a class Has[Script Name]Objects will be generated.

It’s simple right! now you can just call the page objects wherever you require it. Since most of the work was done by Cucumber & SOB and rest will be done by us implementing a few logics based on the functionality. This framework really saves huge time and makes you nonchalant. You can download sample project (Cucumber with SOB) from here.

I hope this framework can be used for automating web applications (Selenium) as well as mobile applications (Appium) too.

Credit goes to the creators of SOB and Cucumber frameworks. These frameworks make our job much simpler.

Are you still looking for a Test Automation Framework?

We all know, designing a framework is a tedious task. So, this time I came up with an article on new framework RedwoodHQ, a Tester friendly with many built-in features and allows you to automate and manage your tests very quickly. Before diving into the framework, I’d like to thank Dmitri Molchanenko for the assistance.

What is RedwoodHQ?
An Open source framework which supports SeleniumAppium and allows multiple users to design test cases and develop test scripts which can be written in a ubiquitous language and also allows you to execute them all using a friendly Web interface.
RedwoodHQ supports Java/Groovy, Python and C#.

Why should I use RedwoodHQ Framework?
Using this framework, a non-tech guy can automate using the keywords available while designing the test case itself. We don’t need any IDE to configure. I guess this can be used for Bigger and Smaller projects as well.

Apart from that, I can list out few more benefits

  • Open Source Project 
  • Easy to install
  • Good Web user interface design
  • Supports Selenium, Appium, SOAP/REST
  • Contains Keyword Driven Framework
  • Contains Data Driven Framework
  • Supports Frameworks like TestNG, Junit 
  • Integrated IDE with Version control (GIT)
  • Can Integrate with external code repository
  • Distributed and Parallel Execution
  • Detailed Reporting Structure
  • Support with CI tools like Jenkins
  • Can create ‘Users’ and assign Test Designer and Test Dev roles
  • Can create multiple Projects
  • Can view History of Test Cases
  • Importing TestNG/JUnit tests
  • Maven Dependency Support, of course, adding external jars too 
  • Looking Glass – Inspector
  • Illustrated User Manual

So firstly, we need to write our test scripts in the ‘Scripts‘ section in order to create an ‘Action’. It doesn’t stop you from using POM or any other framework. You can import TestNG/Junit test scripts. You can also add Maven dependencies or any other Jars.

0


What is an Action?

An action is a keyword that describes what event it is about to do. A collection of actions is used by a test case. You can create your own action (Clicking an element, Login in to application…) by mapping it to your Script using Script Picker.

1

That’s it, now it’s simple to automate your application. In fact, a non-technical guy could automate using these action keywords.

Test Case Designing

RedwoodHQ allows you to design a test case in the same GUI itself. We can also set test data (Data Driven). You just need to find the action you want to perform, drag and drop it into your test cases. You can also view the history of the Test case.

2

What about Test Execution?

It’s quite simple to Execute your test cases. RedwoodHQ also allows you to create a ‘Test Sets’ where you can set up test cases to be executed. You can also execute them in various machines within the network. Addition to this, you can also get notified about test results in an email.

3

What about Reporting Framework?

RedwoodHQ will generate a PDF report which could be exported. It also Provides the detailed results with clickable stack trace exceptions. You can also get the snapshots of each and every step just by selecting the checkbox while execution. RedwoodHQ also gives you Aggregate report of your entire Test Sets.

4

5

You would love to hear about GIT?

No more configurations, RedwoodHQ has built-in source control. You can commit your changes and you also have an option to Pull the code from the main branch that was Pushed by other users.

6


RedwoodHQ
 supports integration with CI tools like Jenkins and Team City.

Last but not least, this has built-in tool ‘Looking Glass‘ which can inspect the HTML, and verify XPath, CSS selectors whether Selenium will interact with the object or not. This also has Record and Play Back feature which can save some of your time.

7

I’ve not used it full-fledged, but I felt comfortable using this RedwoodHQ Framework. I would suggest RedwoodHQ to any group that needs to develop a comprehensive suite of automated tests that can be easily run and interpreted. Maybe you can give a try, it’s quite easy to install, click here to download.

Reference: Documentation

Compatibility Testing using BrowserStack & Selenium – TestNG

What is Compatibility Testing?

Compatibility testing is a non-functional test to ensure that an application’s compatibility within different environments such various web browsers with various versions, Operating Systems (Windows, Linux, Mac…). In order to pass this test, we also need to check Forward and Backward Compatibility. Here i’m using Browserstack to perform Compatiblity testing.

BrowserStack allows users to make manual and automation testing on different browsers and operation systems.To execute your test scripts using BrowserStack, you need to set parameters of Browsers and Platforms.
There are few steps to be followed to integrate Selenium with BrowserStack.

Continue reading

Integration of Selenium with Saucelabs

What is Saucelabs?
Sauce Labs is a cloud platform for executing automated and manual mobile and web tests. Sauce Labs supports running automated tests with Selenium WebDriver (for web applications) and Appium (for native and mobile web applications).

Why do we need Saucelabs?
Straight forward answer : Browser Compatibility. We need to test all our testcases in various versions of browsers and various platforms too. We can’t install all those stuff in our local box. Now this Saucelabs plays a major role.

Continue reading

How to customize xpath to identify webelements in smart way

What is Xpath ?
XPath is normally called as XML Path.We use XPath to navigate through elements, and attributes in the XML document.As per W3C’s, the XPath is a major element in XSLT standard – and XQuery and XPointer are both built on XPath expressions.XPath is the language for finding information in an XML document. There few types of xpath based on the html structure (Lets say the address of the element).

Continue reading

How to use Selenium Grid

Selenium Grid helped me a lot in Compatibility check (Multiple Browsers & Multiple Platforms).This is grid helps us to execute multiple instances of WebDriver in parallel which uses the same code base (code which is present in only one system), hence the code need NOT be present on the other system they execute. The selenium-server-standalone includes Hub, WebDriver, and Selenium RC to execute the scripts in grid.

Continue reading

Keyword Driven Framework in Selenium Webdriver (Hybrid : KeywordDriven + TestNG + DataDriven)

Framework: It is a set of Guidelines designed by an Expert in a generic way to accomplish a task in an effective and efficient manner.If you are using selenium webdriver and wants to create  Keyword Driven Framework from scratch then follow bellow given steps.It will guide how to create hybrid framework .

Keyword Driven Framework is one of well known automation framework and extensively used in various service offering companies. Keyword Driven Framework also known as table-driven Framework or action word based framework.Here we’ll use some keywords as the driving parameters in data driven testing the data sheet. The keywords will be defined by the user, and let’s call them user defined keywords.The highlighted text in the below screenshot are the keywords.

Continue reading

How to zip your Test Automation Reports using Java

We can use this Class in Selenium to Zip your Test Automation Reports and mail them to anyone.We can use this for adding a file or a folder to the archive list.This Class is based on Java util & io Packages.In general we use Jenkins or some CI tool by adding plugins for auto mailing.

Here i am sharing the snippet.

Continue reading