Thursday, February 20, 2020

Installing jenkins on Windows or Windows Server

Jenkins is an open source automation server which lets Developers Build, Test, Schedule and Deploy Softwares and services.

Step by Step guide on How to Install Jenkins on Windows Systems

Step 1: Download latest version of Jenkins from it's Official Website. 

Step 2: Once jenkins download completes, extract the Jenkins Installer and follow the Jenkins service Setup Wizard:

Step 3: Click on Next as displayed on above screen.

Wednesday, February 19, 2020

Master these Software testing software to become a Full stack QA Software Tester

Gone are the days when manual testing was enough to save your technology job in the field of Software Testing. The evolution of Automated software Testing has limited the scope of Testing Jobs. Most firms are hiring Software Development Engineers in Test instead of Manual Software Testers.

The catch here is, you get interviewed and selected for Automated Software Testing but are bound to use Manual
software testing methodologies as there is limited scope of Automation Testing in your organization. Now either you can get demotivated, curse your job and slog yourself just for the sake of salary OR you can automate a few pieces by using a few dazzling tools for Automated Software Testing or to do a bit more than Manual Testing. 

 1. Postman: Postman is a very powerful Software testing software for:
  • Snapshot Testing for APIs
  • Acing your API tests
  • Performance Testing for your APIs
  • Consumer-Driven Contract Testing

2. Java: Java is the backbone for automated software testing using Selenium. You can also start learning java by studying Basic Java Tutorials designed specially for Testers


3. Eclipse: Eclipse is an integrated development environment used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. Eclipse can be used as an editor to code, compile and execute Java programs.

4. MTPutty (Multi-Tabbed PuTTY): Most testers use Putty as a SSH client to connect to QA Servers and tail the logs / Change server configurations / Deployments as PuTTY is the most popular SSH client for Windows. MTPuTTY is a *FREE* utility allowing us to wrap multiple PuTTY instances in one tabbed GUI unlike Putty where we have to open one window for each instance.

5. Charles: Charles is an HTTP proxy / HTTP monitor / Reverse Proxy which lets us view entire HTTP and HTTPS requests between the Client and the Server. This includes requests, responses and the Request headers. We can also chain requests, tweak both Request and Response as per our desired test case. Charles is widely used for Mobile App Testing as well. 

Tuesday, February 11, 2020

Solved: Unable to Install TestNG in latest version of Eclipse IDE 2019-12?

No TestNG in Eclipse Marketplace? Yes you heard it right. TestNG library is missing in latest versions of eclipse. Also we are unable to Install using Old URL: http://beust.com/eclipse/

Tuesday, January 7, 2020

Jenkins Build Triggers : How to Schedule Parameterized Jenkins Jobs smartly using Hash

We usually schedule automation jobs using Jenkins for executing scheduled automated tests. Many a times, we need to schedule multiple jobs hourly, once, twice or thrice daily.

In case the Build Executor Status is not idle and suppose you have 15 jobs to execute @ 8:00am daily. The resources get choked and the build does not get triggered.

In order to avoid this one should use hash for scheduling the builds. It generates a random hash value using the Job name and decides a minute of every hour using hash value for build to get triggered. In other words, all the 15 jobs would get spread over the entire hour.

In the Image below, "H" before 8*** stands for hash. 

To know more about cron annotations for parameterized scheduling you can take help from: https://crontab.guru/

Tuesday, December 3, 2019

Implict Vs Explicit Wait in Selenium

Wait is an important term while writing automated Test Scripts using Selenium as some Web Elements might not be clickable while performing actions on them or they might take some time to load. 

We might get runtime errors like:
org.openqa.selenium.WebDriverException: Element is not clickable at point. Other element would receive the click.

We widely use two kinds of Wait in Selenium:  Implicit Wait and Explicit Wait.

Implicit Wait 
Implicit wait waits for a certain defined period of time. Example in below code snippet.

Explicit Wait 
Explicit Wait is far better than Implicit Wait as it waits for any Web Element which does not load due to Ajax or JavaScript calls on webpage. 

Sample Common Functions to be used for Implicit & Explicit Wait:

Wednesday, August 21, 2019

Postman/ Newman How to fix: TypeError: Cannot read property '_destroySSL' of undefined?

On updating Node to current version 12.X, we get below error on executing Postman test scripts via Newman using command-line:


_tls_wrap.js:534
  self._destroySSL();
       ^

TypeError: Cannot read property '_destroySSL' of undefined
    at Timeout.destroySSL [as _onTimeout] (_tls_wrap.js:534:8)
    at listOnTimeout (internal/timers.js:531:17)
    at processTimers (internal/timers.js:475:7)

In order to fix: Simply downgrade Node version to v10.16.3. Happy Testing :)