Table of Contents |
---|
Key Points
...
...
Learn more about Rest-Assured
11) Karate DSL
Karate is a new API testing framework base on cucumber library. Karate DSL allows testers to write meaningful tests for web service using a domain-specific language.
Features:
- It supports configuration switching/staging, multi-threaded parallel execution
- Allows testing and generating reports just like any standard Java Project
- Possible to write tests even for the non-programmers
- The karate API testing tool allows re-use of payload-data and user-defined functions across tests.
Download link: https://github.com/intuit/karate
12) Rest Console
HTTP client and Request visualizer and constructor API testing tool. It helps developers to build, debug and test RESTful APIS.
Features:
...
...
10b> Cucumber BDD DSL and Selenium Web Driver
https://arsfutura.com/magazine/cucumber-bdd-with-selenium-and-java/
arsfutura.com-Cucumber BDD with Selenium and Java.pdf link
arsfutura.com-Cucumber BDD with Selenium and Java.pdf file
driver.findElement(By.name("q")).sendKeys("Youtube");
WebElement searchIcon = driver.findElement(By.name("btnK")); searchIcon.click();
Cucumber DSL
Scenario Login
Given I'm on login page
And I enter my email
And I enter my password
When I click login button
Then I should be logged in
Guide to Cucumber Selenium
https://www.browserstack.com/guide/automation-using-cucumber-selenium
Automation Testing accelerates the software development lifecycle. Furthermore, on adopting the Behavior Driven Development (BDD) approach to development, different stakeholders like developers, QAs, and non-tech teams can collaborate actively in the project.
The scenarios are written based on the expected behavior of the software and it is tested to check if it matches said scenarios.
11) Karate DSL - DSL for automated BDD tests without language coding needed
Karate is a new API testing framework base on cucumber library. Karate DSL allows testers to write meaningful tests for web service using a domain-specific language.
Features:
- It supports configuration switching/staging, multi-threaded parallel execution
- Allows testing and generating reports just like any standard Java Project
- Possible to write tests even for the non-programmers
- The karate API testing tool allows re-use of payload-data and user-defined functions across tests.
Download link: https://github.com/intuit/karate
https://github.com/karatelabs/karate
https://www.softwaretestinghelp.com/api-testing-with-karate-framework/
karate beginner tutorial video
karate setup and install video
Can create automated, BDD tests with Karate using a DSL ( vs a language )
Karate framework follows the Cucumber style of writing the program which follows the BDD approach. The syntax is easy to understand by non-programmers. And this framework is the only API testing tool that has combined API Automation and performance testing into a single standalone tool.
It provides the users with the ability to execute the test cases in Parallel and perform the JSON & XML checks.
With this information, certain key points can be deduced to further understand the Karate tool in detail:
- Karate is a BDD testing framework instead of a TDD.
- It is designed to be easy for non-programmers. This feature is a game-changer as it allows for more use and access by many people regardless of their technical background or capacity.
- It makes use of the Cucumber feature file and the Gherkins language to write the test which is very easy to understand.
TestNG - NextGeneration - more flexible than JUnit
https://www.guru99.com/all-about-testng-and-selenium.html
testng-2022-guru99.com-TestNG Tutorial What is Annotations amp Framework in Selenium.pdf file
https://testng.org/doc/documentation-main.html
TestNG is an automation testing framework in which NG stands for “Next Generation”. TestNG is inspired by JUnit which uses the annotations (@). TestNG overcomes the disadvantages of JUnit and is designed to make end-to-end testing easy.
Using TestNG, you can generate a proper report, and you can easily come to know how many test cases are passed, failed, and skipped. You can execute the failed test cases separately.
12) Rest Console
HTTP client and Request visualizer and constructor API testing tool. It helps developers to build, debug and test RESTful APIS.
Features:
- Construct POST or PUT body via raw input
- Easy query parameters creation
- Add custom headers through intuitive UI
- Keyboard navigation and shortcuts
Download link: https://github.com/ahmadnassri/restconsole
13) Hippie-Swagger
Hippie-swagger is a tool for testing APIS. It supports a clear assertion syntax, for extending test behavior. It also allows clean printing reports.
Features:
- It will fail test whenever swagger documentation is either erroneous or missing
- Readable and accurate assertation messages
- Validated parameters, request, response, pats, etc.
Download link: https://github.com/CacheControl/hippie-swagger
14) Pyresttest
PyRestTest is a Python-based REST API testing platform. It supports tests in JSON or YAML config files. Therefore, there is no code needed.
Features:
- It’s minimal dependencies, which allows easy deployment on-server for smoke tests/health checks
- This API testing tool will return exit codes on failure
- Pyresttest allows to generate/extract and validate mechanisms to build test scenarios
Download link: https://github.com/ahmadnassrisvanoort/restconsolepyresttest
1315) Hippie-SwaggerHippie-swagger is a tool for testing APIS. It supports a clear assertion syntax, for extending test behavior. It also allows clean printing reports.Airborne
Airborne is an API automation testing tool used for testing Rest APIs.
Features:
- It will fail test whenever swagger documentation is either erroneous or missing
- Readable and accurate assertation messages
- Validated parameters, request, response, pats, etc.Airborne is a programming framework, so it has no user interface apart from the text file to create code
- To use airborne, you just need to remember a few key methods in the toolset and some ruby and rspec fundamentals
Download link: https://github.com/CacheControlbrooklynDev/hippie-swaggerairborne14
16)
...
JMeter
PyRestTest is a Python-based REST API testing platform. It supports tests in JSON or YAML config files. Therefore, there is no code needed.
Features:
- It’s minimal dependencies, which allows easy deployment on-server for smoke tests/health checks
- This API testing tool will return exit codes on failure
- Pyresttest allows to generate/extract and validate mechanisms to build test scenarios
Download link: JMeter is used for functional API testing which includes needed to test an API. It also has features which help to boost the performance of API testing.
Features:
- It can record web sessions for playback ( similar to Selenium WebDriver )
- It can be used for both static as well as dynamic resources performance testing
- It supports replaying of test results
- It can automatically work with CSV files. This helps test team to produce unique parameter values for API tests
JMeter is a 100% Java application and should run correctly on any system that has a compliant Java implementation.
Download link: http://jmeter.apache.org/
https://github.com/svanoort/pyresttest
15) Airborne
Airborne is an API automation testing tool used for testing Rest APIs.
Features:
- Airborne is a programming framework, so it has no user interface apart from the text file to create code
- To use airborne, you just need to remember a few key methods in the toolset and some ruby and rspec fundamentals
Download link: https://github.com/brooklynDev/airborne
16) JMeter
JMeter is used for functional API testing which includes needed to test an API. It also has features which help to boost the performance of API testing.
Features:
- It can be used for both static as well as dynamic resources performance testing
- It supports replaying of test results
- It can automatically work with CSV files. This helps test team to produce unique parameter values for API tests
Download link: http://jmeter.apache.org//apache/jmeter
Ability to load and performance test many 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
https://jmeter.apache.org/usermanual/get-started.html
in testing a Web application, then see the section Building a Web Test Plan. The other specific Test Plan sections are:
Once you are comfortable with building and running JMeter Test Plans, you can look into the various configuration elements (timers, listeners, assertions, and others) which give you more control over your Test Plans.
https://www.kiwiqa.com/selenium-vs-jmeter-an-in-depth-guide-for-testers/
Some of the potential cons of the JMeter are:
- JMeter does not offer support to the AJAX and JavaScript requests.
- Automation and Customization are difficult in the case of JMeter.
17) APIpray Inspector
Apiary allows monitoring the API during the design phase by capturing both request and response. It allows the user to write API blueprints and lets the user view them Apiary editor or Apiary.jo.
...