Book Image

Writing API Tests with Karate

By : Benjamin Bischoff
Book Image

Writing API Tests with Karate

By: Benjamin Bischoff

Overview of this book

Software in recent years is moving away from centralized systems and monoliths to smaller, scalable components that communicate with each other through APIs. Testing these communication interfaces is becoming increasingly important to ensure the security, performance, and extensibility of the software. A powerful tool to achieve safe and robust applications is Karate, an easy-to-use, and powerful software testing framework. In this book, you’ll work with different modules of karate to get tailored solutions for modern test challenges. You’ll be exploring interface testing, UI testing as well as performance testing. By the end of this book, you’ll be able to use the Karate framework in your software development lifecycle to make your APIs and applications robust and trustworthy.
Table of Contents (15 chapters)
1
Part 1:Karate Basics
7
Part 2:Advanced Karate Functionalities

Using JUnit reports

JUnit XML files are test-related files that can also be used by specialized build server plugins and other tools that can work with this format, such as xunit-viewer (https://lukejpreston.github.io/xunit-viewer/).

By default, JUnit XML files are not generated when running tests. Since we are dealing with a smart test framework, we can turn on this generation by using the Karate outputJunitXml(true) option in the Runner method:

Results = Runner.path("classpath:reporting")
   .outputCucumberJson(true)
   .reportDir("target/myReport")
   .outputHtmlReport(false)
   .outputJunitXml(true)
   .parallel(2);

This option adds another XML file for every test, as seen here:

Figure 5.18 – JUnit XML files in karate-reports

Figure 5.18 – JUnit XML files in karate-reports

Each file contains all the information about the specific test runs. We can visualize this quickly by using a web tool...