Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Key Points

...

Reference_description_with_linked_URLs_____________________________________Notes_________________________________________________________________




https://searchsoftwarequality.techtarget.com/tip/A-Selenium-IDE-vs-WebDriver-comparison

Selenium IDE vs. WebDriver comparison pdf

Selenium IDE vs. WebDriver comparison pdf **


https://www.guru99.com/top-6-api-testing-tool.htmlAPI Testing Tools list
https://www.postman.com/pricing/

Postman - Enterprise API Test tool with many features, easy to learn, use

free for limited usage, 3 developers

https://curl.se/docs/

https://curl.se/docs/manual.html

Curl

CLI for HTTP requests

https://github.com/httpie/httpieHttpieModern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more.

https://www.selenium.dev/downloads/

https://www.selenium.dev/documentation/

https://www.selenium.dev/documentation/overview/

https://www.selenium.dev/selenium-ide/docs/en/introduction/getting-started

https://www.selenium.dev/selenium-ide/docs/en/introduction/command-line-runner

Selenium Web Driver

browser client records Web sessions for test scripts, playback

supports key OS, Languages

add Appium for Mobile tests

https://spockframework.org/

https://www.baeldung.com/groovy-spock

Spock 

Spock is a testing and specification framework for Java and Groovy applications

https://www.gebish.org/

https://www.softwaretestinghelp.com/geb-tutorial-browser-automation-testing-using-geb-tool/

https://medium.com/automationschool/geb-spock-the-best-of-breed-solution-for-all-your-ui-automation-needs-94f01c998f18

Concept - Geb and Spock Tests

Geb -  a web testing automation framework. It is build as a wrapper over Selenium WebDriver which makes it ideal for automated browser testing

Geb Tutorial – Browser Automation Testing Using Geb Tool is a good tutorial **

https://cucumber.io/

https://cucumber.io/docs/guides/10-minute-tutorial/

Cucumber

stackshare ompare of cucumber and spock

http://ytheohar.blogspot.com/2015/07/bdd-with-cucumber-vs-spock.html

https://www.donaldmcintosh.net/blog/goodbye-cucumber-hello-spock

https://www.slideshare.net/wakaleo/cucumber-and-spock-primer

cucumber-and-spock-primer-slides-170424130138.pdf

Compare Cucumber and Spock BDD Tests frameworks 

This BDD comparison shows Spock syntax is much simpler to read, code


cucumber and spock primer is on slideshare 

https://cucumber.io/docs/installation/cucumber installation
https://medium.com/@mlvandijk/getting-started-with-cucumber-in-java-a-10-minute-tutorial-586652d2c8210 minute cucumber tutorial
https://medium.com/@prathore28647/cucumber-vs-bdd-behavior-driven-development-a5dec8d64bcdcucumber vs BDD concepts article
https://medium.com/@mlvandijk/getting-started-with-cucumber-in-java-a-10-minute-tutorial-586652d2c82getting started with cucumber in Java
cucumber in groovy

https://www.slideshare.net/rapaul/cucumber-on-the-jvm-with-groovy

groovy-cucumber-slides-onthejvmwithgroovy-rapaul-110324134849-phpapp02.pdf link

Cucumber concepts on groovy slides - 2011 
https://javadoc.io/doc/io.cucumber/cucumber-groovy/latest/io/cucumber/groovy/package-summary.htmlgroovy cucumber javadoc
https://blog.jetbrains.com/idea/2012/11/cucumber-for-java-and-groovy-in-intellij-idea-12/cucumber for java and groovy in intellij tutorial 2012
https://github.com/cucumber/cucumber-jvm-groovycucumber jvm groovy - 2020 updated

https://cucumber.io/docs/installation/groovy/install cucumber for groovy


https://www.eclemma.org/index.html

https://www.eclemma.org/userdoc/coverageview.html

https://www.eclemma.org/resources.html

Jacoco - Java code coverage tool


...

Learn more about Rest-Assured

Download HttpMaster

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


image-structure-graphImage Added


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.

Image Added


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.


Image Added

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:

  1. JMeter does not offer support to the AJAX and JavaScript requests.
  2. 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.

...