Skip to content

Category: Tools

Compiler, Debugger, Profiler, GUI designer, Modeling, IDE, Build automation, Release automation, and Testing.

Apache JMeter

Image result for jmeter

Apache JMeter is an application that is open source, and designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to test even more!

 

What is it Used For?

JMeter can be used for a variety of things! Its best use though is for performance testing web applications. Using JMeter you can simulate a heavy load on servers, groups of servers, network, or object to test its strength and performance under load.

Apache JMeter features include:

  • Ability to load and performance test many different applications/server/protocol types:
    • Web – HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET)
    • SOAP / REST Webservices
    • FTP
    • Database via JDBC
    • LDAP
    • Message-oriented middleware (MOM) via JMS
    • Mail – SMTP(S), POP3(S) and IMAP(S)
    • Native commands or shell scripts
    • TCP
    • Java Objects
  • Full featured Test IDE that allows fast Test Plan recording (from Browsers or native applications), building and debugging.
  • Command-line mode (Non GUI / headless mode) to load test from any Java compatible OS (Linux, Windows, Mac OSX, …)
  • A complete and ready to present dynamic HTML report
  • Easy correlation through ability to extract data from most popular response formats, HTMLJSON XML or any textual format
  • Complete portability and 100% Java purity.
  • Full multi-threading framework allows concurrent sampling by many threads and simultaneous sampling of different functions by separate thread groups.
  • Caching and offline analysis/replaying of test results.
  • Highly Extensible core:
    • Pluggable Samplers allow unlimited testing capabilities.
    • Scriptable Samplers (JSR223-compatible languages like Groovy and BeanShell)
    • Several load statistics may be chosen with pluggable timers.
    • Data analysis and visualization plugins allow great extensibility as well as personalization.
    • Functions can be used to provide dynamic input to a test or provide data manipulation.
    • Easy Continuous Integration through 3rd party Open Source libraries for Maven, Gradle and Jenkins.

Say you were asked to simulate 200 users hitting an API at one time, how would you do this? Well, JMeter allows you to do exactly that! It would be near impossible to attempt to find 200 people whit a PC and internet access to hit an API at one time right? Well, with JMeter you can do exactly that.

Best used for:

  • API Load & Performance Testing

Learning Curve:

  • Medium
    • Can do more than Google Postman, but is not quite as easy to pickup.

JMeter Advantages

  • Open Source
  • Friendly GUI
  • Platform independents
  • Multi-threading framework
  • Visualize Test Results
  • Easy Install
  • Extensible
  • Multi Protocol
  • Can be used with Blazemeter

How does JMeter work?

JMeter simulates a group of users sending requests to a target. It starts by Sending a request to the target, then getting statistics information of the target, then generates a test report based on the server at test by simulating multiple users sending a request to the target server.

JMeter Plugins

JMeter currently supports 64 plugins. JMeter Plugins can be installed on JMeter using the Plugin Manager.Each plugin serves different purpose.

 

How do I use JMeter?

 

JMeter Tutorials

API Testing & Google Postman

Google has always been one of the leaders in the tech industry and although there are many different options when it comes to selecting the best API testing tool, Google’s Postman still is at the top of my list and here is why.

What is an API?

Great question! So, in computer programming, an application programing interface (API) consists of a subset of definitions, communication protocols, and tools for building software.

Basically what this means is that a set of clearly defined methods of communication amongst various components. This could be a web-based system, Operating system, database system, computer hardware, or even a software library.

 

What makes a “Good” API?

A good API makes development easier. Think of it as the rock, or the foundation of a project. You need a solid base foundation and building blocks the piece together the end result, right? Same goes for API and programming.

 

What is Google Postman?

Google Postman “makes API Development simple, developers use Developers use Postman to build modern software for the API-first world.”

Not only can Postman be used for developing an API, it can also be used for Testing an API.

Google Postman Features

Postman’s Tools Support Every Stage of the API Lifecycle.

Postman Cost – FREE!

The best thing about Postman is that it is completely free! I have used Postman for a few years now and have never had a problem with the Free version and have used Postman for testing multiple API’s.

 

How can I use Google Postman for API Testing?

Google postman can be used for API testing in a variety of different ways. For example, you can have a simple status check on a website’s Url that runs on a monitor schedule and runs at the top of every hour, and can even notify you when a website is unreachable with the ability to check HTTP Status Codes.

You can also test a REST API’s response body to verify that the API is providing the expected request response.

 

Example Postman Tests:

// Status Code Tests:

if(tests[“Status code is OK/200 and receiving a response as expected”] = responseCode.code === 200) {

   // Response Assertions/Status Checks

   pm.test(“Status code is OK”, function () {

   pm.response.to.have.status(“OK”);});

 

   pm.test(“Response time is less than 800ms”, function () {

   pm.expect(pm.response.responseTime).to.be.below(800);});

 

   pm.sendRequest(“https://postman-echo.com/get”, function (err, response) {

       console.log(response.json());});

 

   pm.test(“Content-Type is present”, function () {

       pm.response.to.have.header(“Content-Type”);});

 

// Error Checks:

   pm.test(“Response should be okay to process”, function () {

   pm.response.to.not.be.error;

   pm.response.to.have.jsonBody(“”);

   pm.response.to.not.have.jsonBody(“error”); });

 

// Response Body Content Tests:

   pm.test(“Response contains A String”, function () {

       pm.expect(pm.response.text()).to.include(“ExpectedResponseStringHere”);});

}

 

The above Example is of possible Test Scripts that can be written to test API’s using Postman. The Status Code Tests are testing that the response was Status Code 200 (Ok) and that the Response was received in less than 800ms/0.8 seconds.

The Error checks are checking that the response should be okay to process and is a .json as expected.

 

The final test is testing that a Specific String from the Response Body is included in the API’s response.

View Postman Test Scripts for more information.

Postman Review

Overall I am incredibly happy with Postman and everything that it can do in terms of being able to Test an API. Postman has a fantastic UI and is easy to learn and use for beginners. With the ability to automate scheduled runs and checks on API’s it makes testing easy and powerful. Postman’s free option is all that is needed when testing an API. If you are new to API Testing, and wanting to get your feet wet, I strongly recommend you give Postman a try.

Links:

Download Google Postman

A How-To test using Postman Tutorial

Getting Started with Google Postman

 

TestProject.io

TestProject.io

Community Powered Test Automation

TestProject simplifies and enhances the use of leading open source tools Selenium & Appium. It is driven by a community of passionate developers that create and share addons for Mobile, Web and API testing.

TestProject is available for FREE !

Features

Recording Studio

TestProject’s in-browser recorder provides you a complete set of tools for Web and Mobile test automation.

Standard yet Powerful

TestProject simplifies and enhances the use of the leading open source tools Selenium & Appium, so you can easily create and run automated tests on various browsers and mobile devices of your choice.

 

Team & Management

Share your tests, reports, addons and other components that will help your teammates to create better tests in less time.

Plans

There are two Plans for TestProject.io… One that is free forever, and another that is Professional. If you Request a free Invite, you can receive a Professional Version today!

About TestProject

Starting today, you can stay updated with news and latest trends, researches and best practice magazine articles on JavaScript, Selenium, Appium, unit testing, API, mobile testing etc.

Powered by the leading software testing community experts across the globe, you will discover  authentic opinions, tips and tricks by hands-on experienced professionals.

Get familiar with new tools and methods with our simple step by step tutorials, get inspired by interviews with top leading companies around the globe sharing their own views on test automation and how it made them successful.

 

View TestProjecet’s Blog Here.