by admin | Aug 15, 2018 | Automation Testing, Blog |
The prospect of reviewing a new test automation tool is always an exciting one for any software testing company. Choosing the right tool for product testing for anyone in the software testing community becomes easier with the help of unbiased Test Automation Tool reviews by experienced test automation experts. In this blog, we look at each feature of Katalon Studio in detail.
The Installation Process
Click the link below and complete the Signup procedure to download Katalon Studio.
https://www.katalon.com
Installation is not needed. All you have to do is unzip the downloaded file in your desired location.
The Types of Applications that can be tested using Katalon
Web, Mobile apps & Web Service can be automated.
A Recommendation to the Katalon Team: Desktop App Automation Testing will increase the functionality of the tool.
Pricing for the Tool itself and Technical Support
While the tool itself costs nothing, the price for technical assistance is 249 USD per month
Type |
No. of accounts |
Pricing |
Business Support |
1 |
2500 USD per year |
Enterprise Support |
3 |
5000 USD per year |
Custom Keyword Development
This is one of the most noteworthy features of the Katalon testing tool. The keyword can be created using Groovy scripting and can also be called at any point in the test flow.
There also exist a sufficient amount of additional built-in keywords.
Object Identification
? Nested Identification
All available locators can be used in Selenium. As shown below, any WebElement in Selenium can be identified using multiple levels of nested identification.
driver.findElement(By.name("btn2"));
elemnt.findElement(By.name("codoid")).findElement(By.name("Test Company"));
Katalon, however, only permits the use of 1 level of nested identification.
? Switching Frames and Browser Windows
? In order to switch frames, one has to first define a frame in Test Object with the Object Identification Details and then call the Switch to Frame keyword.
? Windows can be switched using Index, URL & Title.
Manual View & Script View
Manual View facilitates easy script development. The required keyword and test object for a test step can be selected in Manual View.
You can view all the steps which are added in Manual View in Script View as well. This feature gives more flexibility to troubleshoot your scripts. And you can modify the scripts from Script View and the changes can be seen in Manual View.
One also has the capability of viewing all the steps that were added in Manual View, in Script View. This feature allows for more flexibility when it comes to troubleshooting scripts. There is also the provision for modifying scripts from Script View and observing the changes in Manual View.
A Recommendation to the Katalon Team: It would be better if the script view editor could highlight scripting errors instead of just underlining them.
Jira Integration
A Jira bug ticket can be created while troubleshooting failures from Katalon Test Reports.
Looping
Looping is an indispensable feature of any test automation framework. Katalon allows for the usage of For & While loops
The restriction of nested looping is a daunting task for any automation test. Katalon Studio is awarded a 5-star rating for enabling nested looping.
Conditional Statement
Similar to looping, Katalon also allows nested conditional statements. There is, however a disadvantage to using conditional statements in Katalon. In order to decide True & False statements, the outcome of a keyword call in a variable and input in the Conditional Statement need to be saved. This can prove to be a burdensome procedure.
A Recommendation to the Katalon Team: The enabling of keyword calls in Conditional Statements, in order to decide between the execution of True and False Statements would be a useful feature to have.
Hard and Soft Step
Assuming a mandatory test step has failed and you would like to halt the test execution, the failure handling in Katalon can be configured as shown below.
Object Spying
Katalon allows for the spying on of Web and Mobile Objects. The provision for Object Spying in a freeware test automation tool is a definite bonus for automation testers.
Katalon Studio supports spying AUT on IE, Chrome & Firefox browsers.
Hooking
The following hooks which are executed before or after test case & test suite are supported by Katalon. Test case status, ID & variables can also be obtained inside these hooks.
Before & After Test Case
Before & After Test Suite
A Recommendation to the Katalon Team: The provision for Tag based hook calling would be beneficial.
Git Integration
The SCM feature is essential for automated script development as it permits the tracking of code changes while facilitating effective work coordination.
The feature for Git Integration in Katalon Studio can be enabled from Preferences.
Execution Video Recording
Recorded test execution is a great reference material. Katalon has a video recorder which can be enabled for Passed or Failed test cases or both.
The feature of recording test execution works great as reference material. The video recorder feature on Katalon can be enabled for either Passed or Failed test cases or even both.
Email Notification
There exists on Katalon, a Template for receiving Email notifications. The content can be customized in accordance with changing requirements.
(more…)
by admin | May 1, 2018 | Automation Testing, Fixed, Blog |
Rerunning Cucumber failed scenarios is a great value add for your automation test suites. Sometimes, your scripts may fail because of network latency and test bed slowness. Rerunning scripts will reduce the number of failures.
However, you need to monitor the scripts which are always failing in the first attempt. In this blog article, we will walk you through how to rerun jvm-Cucumber failed scenarios.
Step #1
Configure where you want to store failed scenario details in Runner class
package sample.cukes;
import cucumber.api.CucumberOptions;
import cucumber.api.testng.AbstractTestNGCucumberTests;
@CucumberOptions(
features = "src/test/resources/features/Sample.feature", monochrome = true,
plugin = {
"pretty", "html:target/cucumber-report/single",
"json:target/cucumber-report/single/cucumber.json",
"rerun:rerun/failed_scenarios.txt"},
glue = {"common","sample"}
)
public class SampleCukesTest extends AbstractTestNGCucumberTests {}
Note: Use rerun variable in CucumberOptions to store the failed scenarios.
Step #2
Create a new Runner class to run the failed scenarios.
package sample.cukes;
import cucumber.api.CucumberOptions;
import cucumber.api.testng.AbstractTestNGCucumberTests;
@CucumberOptions(
features = {"@rerun/failed_scenarios.txt"},
monochrome = true,
plugin = {
"pretty", "html:target/cucumber-report/single",
"json:target/cucumber-report/single/rerun_cucumber.json"},
glue = {"common","sample"}
)
public class FailureRerun extends AbstractTestNGCucumberTests {}
Note: In the ‘features’ variable, you need mention the failed_scenarios.txt file and don’t forget that you must mention ‘@’ symbol before the file path.
If you are running your automated test scripts from Jenkins, you can create and configure a downstream job to run the failed scenarios.
by admin | Oct 8, 2018 | Automation Testing, Fixed, Blog |
Cypress is a JavaScript based end-to-end testing framework that doesn’t use Selenium unlike other framework(Protractor, Jasmine, Webdriverjs) does. Cypress is built on top of Mocha, which is again a feature-rich JavaScript test framework, making asynchronous testing simple and fun. Cypress also uses a BDD/TDD assertion library. As Cypress has many handy advantages, I want to highlight only those that I found fascinating:
- Automatic waiting – Using Cypress, you do not need to specify explicitly to wait for the DOM to load, elements to become visible, the animation to be completed, the XHR and AJAX calls to be finished, and much more.
- Real-Time Reloads – Cypress triggers automatic running of your script when you save the script file you are working with (xyz_spec.js file). Usually other frameworks needs manual triggering to run the script.
- Debug ability – Cypress gives you the ability to directly debug your app under test from chrome Dev-tools, It suggests you how to approach an issue while it pops out an error message.
- Free and Open Source.
- Fast, It takes a max of 20 ms response time.
There are two ways to use this tool in your PC.
- – Desktop Application
- – Using NPM installer
Download the zip file for Desktop by hitting the download button, extract the files and install in your machine.
OS Support:
- Mac OS 10.9+ (Mavericks+), only 64bit binaries are provided for macOS.
- Windows 7+, only 32bit binaries are provided for Windows.
- Linux Ubuntu 12.04+, Fedora 21, Debian 8.
Desktop Application will be look like,
You can create a new separate cypress project and you can also add a cypress project to an existing projects, to achieve this follow the below steps.
- 1. User can drag and drop your project or empty folder.
- 2. Cypress will create an example project inside the folder, which contains a. A Cypress folder(has lot of example “.js” (like spec.js files)) b. Cypress.json file
After creating a new cypress project, it looks like the below,
Cypress is purely a chrome dependent framework (chrome, chromium and canary). If you open anyone of the spec.js file, that spec will start executing the automation script in a Google chrome browser. Also, you can run all the test files together by clicking the button (Run all tests). Cypress has a beautiful display that splits test execution on right and individual steps of execution on left side. Refer the below screenshot,
All executable files should be in the Integration folder, the spec.js files are available in the integration folder. If you need to automate an application, create a spec.js file in the integration folder and start developing the script.
Note: Cypress requires nodejs version greater than 4.0.0
Open your project or a new folder in the command prompt and initialize the npm to create a package.json file, use the below code to initialize it.
Now package.json file will be created in that folder. Run the below command to install the cypress tool,
npm install --save-dev cypress
A folder node_modules will be created and lot of dependencies will be downloaded in that folder. Open the cypress tool by using the below commands,
The long way with the full path
$./node_modules/.bin/cypress open
Or with the shortcut using npm bin
Or by using npx Note: npx is included with npm > v5.2 or can be installed separately.
After a moment, the Cypress Test Runner will launch.
Examples: Open the project path in your editor(VS Code, Atom, etc), it should contains the ‘cypress’ folder and ‘cypress.json’ files. In the ‘cypress/integration’ folder it will have the example folder, that folder contains lot of examples ‘spec.js’ file.
The ‘spec.js’ file will contain the examples of automation scripts.
Frequently Asked Questions
-
Is Cypress easier than Selenium?
Yes, Cypress is easier than Selenium as it's simple to learn and faster to use. Though Selenium supports multiple languages, its complexity makes it difficult for developers and testers to adapt quickly.
-
Can I use Cucumber with Cypress?
Yes, you can use Cucumber with Cypress. It integrates with Cucumber to allow you to write test scenarios in BDD format and also uses all the capabilities of Cucumber by using the Cucumber-preprocessor node module.
-
Does Cypress support Mobile Automation?
Cypress will never be able to run on a native mobile app, but we can test some mobile web browser functionality and mobile applications developed in a browser, such as with the Ionic framework. Currently, the cypress can be used to control the viewport.
-
How to install Cypress?
Cypress can be downloaded in two ways.
1. Direct Download
2. npm (Node Package Manager)
Steps for installation
1. npm-i init, this will create a package.json file
2. npm install cypress —save-dev will fetch the most recent version of cypress available for download.
3. node_modules/.bin/cypress open, we can run the cypress runner with this command.
-
What is Cypress Automation?
Cypress Automation is the process of using JavaScript to automate the web application testing process. It is designed to make testing web applications easier and faster by providing a clean and intuitive API, a robust set of assertions, and an easy-to-use debugging interface.