Friday, January 25, 2019

Jenkins Overview

Jenkins Overview
Jenkins is an powerful open source automation server. It is platform independent . You can combine with any tool unparalleled plugin ecosystem to support practically every tool as part of your delivery pipelines. It is widely used for continuous integration & continuous delivery 

Jenkins History
Jenkins was originally developed as the Hudson project. Hudson's creation started in summer of 2004 at Sun Microsystems. It was first released in Feb 2005. In 2011, creator Kohsuke Kawaguchi received an O'Reilly Open Source Award for his work on the Hudson/Jenkins project. Jenkins replaced Hudson since February 8, 2017 in Eclipse

 How Jenkins Works 

Wednesday, January 16, 2019

Jenkins Tutorial for Testers

Step by step Jenkins Tutorial for Testers

In this course you will learn about Jenkins. Famoust CI tool.

Jenkins - Tutorial course content

  1. Jenkins - Overview
  2. Jenkins - Installation
  3. Jenkins - Configuration
  4. Jenkins - Management
  5. Jenkins - Setup Build Jobs
  6. Jenkins - Unit Testing
  7. Jenkins - Automated Testing
  8. Jenkins - Notification
  9. Jenkins - Reporting
  10. Jenkins - Metrics and Trends
  11. Jenkins - Managing Plugins
  12. Jenkins - Security
  13. Jenkins - Plugin

Friday, January 11, 2019

Solution- JMTER not working from CMD / NON GUI / Command Promt

I was facing this issue when I was trying to run JMETER from CMD/ Command prompt / Non Gui, Even JMETER was working fine in GUI mode.

To run I started JMETER in Bin path of JMETER and ran below query


jmeter -n -t "C:\Users\incvelh\Desktop\JMETER\HTTP Request.jmx"

it was giving me error

JMETER is not a recognized file as an internal or external command, operable or external command

to solve this I set system environment variable and it worked for me

to set environment variable for JMETER in system variable follow below path

Computer -> Advanced System settings -> Environment Variables -> Ok -> System Variables -> Path

now try to run JMTER in CMD 

Wednesday, January 9, 2019

Parsing JSON response and Saving it in CSV

 To parse JSON response we need to use JSON Extractor and Bean Shell Post Process (Here we need some do coding) Add JSON Extractor & Bean Shell post processor to thread group Right click on Thread Group> Add>Post Processor
JSON Extractor & Bean Shell post processor added to thread group 

We are capturing “geoAddressId” and will save it in CSV 

How to Configuring JSON Extractor to Parse JSON Response in JMETER For API  performance Testing

 Variable Name:- You can set any variable name to which Extracted geoAddressId value to be assigned and stored in memory 

JSON Path Expression:-  It allows you to enter search criteria to search Parameter ( you can google Regular Expression for more details ) 

Match No:- 

Default Value- If geoAddressId not found then it will save default value “No geoAddressId found” 

Now we want to save value stored in memory to CSV file, for this we need to write Bean shell Script in Bean shell Post Processor. Open bean shell Post processor. And write below script

import java.util.Map; 
import java.util.Set; 
String str=vars.get("geoAddressId"); 
FileWriter writer = new FileWriter("D:\\Performance\\Test1\\Test Data sheets\\ADDRESS BS\\geoaddressid.csv",true);  

Now run performance test with 5 users, and check Response as well as geoAddressId stored in CSV 

All 5 users got success

Also in Data sheet all 5 geoAddressId are saved

Monday, January 7, 2019

How to pass variable data in JMETER request

How to pass variable data in JMETER request

How to use CSV data set config in Jmeter for passing varible data in JSON request 

To create real-time scenario we need to pass variable data in request. For this we can use “CSV data set config”. Right click on Thread group > Add> Config Element> CSV Data Set Config

You will see CSV data set config like this 

Now we need to create a CSV from which JMETER variable will pick up value and append in Request.  Create CSV and enter data for variable, Here I am passing address line as variable. ( You can open CSV in notepad ). After each address press TAB and then next line new address  , So JMETER can understand multiple variables 

Update configuration  in “CSV data config set”

Filename:- Complete path where file is stored 
Variable Name:- You can give any name to variable 
Ignore First line:- If you specified Name of variable in data sheet at first line then Make it True else False ( I made false) 
Delimiter: -  We used TAB so will use \t for tab 
Allow Quoted data:- If test data is in quotes then make it true JEMTER will omit quotes and will use data inside quotes (Recommended to keep True always) 
Recycle on EOF: - True, It will recycle used data once reaches to end of file 
Stop Thread on EOF:- False , as we want to recycle data 
Sharing mode: - All threads  

Once CSV data set configuration done we need to replace actual address line with variable name ${addressLine} 

Now run test for 5 users, and check result all 5 users sent different address line in request