# How to generate reports like QAF

**URL:** <https://forum.katalon.com/t/how-to-generate-reports-like-qaf/166722>\
**Category:** API Testing\
**Tags:** reporting, api-testing, katalon-studio\
**Created:** [February 28, 2025, 8:10am UTC](https://forum.katalon.com/t/how-to-generate-reports-like-qaf/166722 "2025-02-28T08:10:31Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![michael\_joseph\_polin](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/michael_joseph_polin/32/23870_2.png) [@michael\_joseph\_polin](https://forum.katalon.com/u/michael_joseph_polin)\
**Post date:** [February 28, 2025, 8:10am UTC](https://forum.katalon.com/t/how-to-generate-reports-like-qaf/166722/1 "2025-02-28T08:10:31Z")

</div>

I have a BDD Feature file with multiple scenarios that I call via test case, then via test suite to run and generate reports

So for instance :  
Feature file →   
Feature: Example Feature

@scenario1  
Scenario: First Scenario  
When I call for the “firstRequest” request

@scenario2  
Scenario: Second Scenario  
When I call for the “secondRequest” request

Test case →   
CucumberKW.runFeatureFile(‘Include/features/myFeature.feature’)

Then i call the test case on test suite

The report generated only counts the test case which is 1. and logs the subsequent scenarios as test step

 ![image](https://europe1.discourse-cdn.com/katalon/original/3X/3/9/39304beabb3a1d8acfb5cd543ccf0037746d291b.png)

My question is how can i count the scenarios or even make the scenarios be read as test case like on QAF , Because on QAF each scenario is counted as one test

 ![image](https://europe1.discourse-cdn.com/katalon/original/3X/8/e/8e8f91d3f9451a917ea6889d4d49ab894415eb28.png)

---

<div class="post-metadata">

**Author:** ![dineshh](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/dineshh/32/24488_2.png) [@dineshh](https://forum.katalon.com/u/dineshh)\
**Post date:** [March 1, 2025, 6:32am UTC](https://forum.katalon.com/t/how-to-generate-reports-like-qaf/166722/2 "2025-03-01T06:32:39Z")

</div>

QAF stands ?

---

<div class="post-metadata">

**Author:** ![dineshh](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/dineshh/32/24488_2.png) [@dineshh](https://forum.katalon.com/u/dineshh)\
**Post date:** [March 1, 2025, 6:50am UTC](https://forum.katalon.com/t/how-to-generate-reports-like-qaf/166722/3 "2025-03-01T06:50:15Z")

</div>

Looking into Katalon’s documentation, there’s a way to use `CucumberKW.runFeatureFileWithTags()` which allows specifying tags. So instead of running the entire feature file, the test case can run a specific scenario by its tag. By parameterizing the tag, the test case can be reused for each scenario.

Therefore, the solution involves parameterizing the test case with scenario tags and creating a data-driven test suite that runs the test case for each tag. This should result in each scenario being treated as a separate test case in the report.

To achieve **scenario-level reporting in Katalon Studio** , let’s try to use this workaround:

## 1️⃣ **Solution Architecture**

```auto
Feature File (Scenarios) → Test Suite (Data-Driven) → Individual Scenario Execution → Separate Reports

```

## 2️⃣ **Step-by-Step Implementation**

## **A. Modify Your Feature File**

Add unique tags to scenarios:

```auto
@scenario1
Scenario: First Scenario
When I call "firstRequest"

@scenario2
Scenario: Second Scenario
When I call "secondRequest"

```

## **B. Create a Parameterized Test Case**

1. Create a **new test case** (e.g., `BDD_Scenario_Runner`):

groovy

```auto
// Test Case Script (Groovy)
def tag = (String) CustomKeywords.'com.kms.katalon.core.testobject.ResponseData.getKeywordTestProperty'('tag')
CucumberKW.runFeatureFileWithTags('Include/features/myFeature.feature', tag)

```

1. Add a **“tag”** variable in the test case’s _Variables_ tab.

## **C. Create a Data-Driven Test Suite**

1. Create a **test suite**
2. Add a **data file** (CSV/Excel) with scenario tags:

```auto
tag
@scenario1
@scenario2

```

1. Configure the test suite to iterate through rows:  
 ![Test Suite Data Binding](https://europe1.discourse-cdn.com/katalon/original/3X/6/4/64315bfd630c23986021bb1f2e81d648c000ca30.png)
2. Add **BDD\_Scenario\_Runner** test case and bind the “tag” parameter:  
 ![Parameter Binding](https://europe1.discourse-cdn.com/katalon/original/3X/6/4/64315bfd630c23986021bb1f2e81d648c000ca30.png)

## 3️⃣ **Execution & Reporting**

- **Before** :

```auto
Test Suite → 1 Test Case → 2 Test Steps

```

- **After** :

```auto
Test Suite → 2 Test Cases (1 per scenario)

```

![Scenario-Level Reports](https://europe1.discourse-cdn.com/katalon/original/3X/6/4/64315bfd630c23986021bb1f2e81d648c000ca30.png)

## 4️⃣ **Alternative Approach: Manual Test Case Creation**

If you have few scenarios, manually create test cases for each tag:

groovy

```auto
// Test Case for Scenario 1
CucumberKW.runFeatureFileWithTags('Include/features/myFeature.feature', '@scenario1')

// Test Case for Scenario 2
CucumberKW.runFeatureFileWithTags('Include/features/myFeature.feature', '@scenario2')

```

## Key Advantages:

- ✅ **Accurate Scenario Count** : Each scenario appears as separate test case in reports
- ✅ **Traceability** : Directly map failed tests to specific scenarios
- ✅ **Data-Driven Scaling** : Easily add new scenarios via CSV updates

## Limitations to Note:

- ⚠ Requires Katalon Studio 8.0+ for full tag-filtering support
- ⚠ Test case names will show the same script name (use [dynamic reporting plugins](https://github.com/katalon-studio/katalon-studio-reporting) for custom names)

---

<div class="post-metadata">

**Author:** ![Elly\_Tran](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/elly_tran/32/21874_2.png) [@Elly\_Tran](https://forum.katalon.com/u/Elly_Tran)\
**Post date:** [March 3, 2025, 3:47am UTC](https://forum.katalon.com/t/how-to-generate-reports-like-qaf/166722/4 "2025-03-03T03:47:43Z")

</div>

Hi @michael_joseph_polin,

Welcome to our community. Thank you for sharing issue.

In Katalon Studio, when you run a feature file using `CucumberKW.runFeatureFile()`, all scenarios within the feature file are treated as test steps rather than individual test cases. This is why the test report only logs a single test case instead of separate scenarios.

I would like to suggest some of the following workarounds here:

#### 1. **Run Each Scenario as a Separate Test Case**

Instead of calling `CucumberKW.runFeatureFile()` at the test case level, use `CucumberKW.runFeatureFileWithTags()`, which allows running individual scenarios separately.

Example:

```groovy
CucumberKW.runFeatureFileWithTags('Include/features/myFeature.feature', ['@scenario1'])
CucumberKW.runFeatureFileWithTags('Include/features/myFeature.feature', ['@scenario2'])

```

This way, each scenario will be executed as an individual test case.

#### 2. **Use Test Listeners to Modify Reporting**

You can create a **Test Listener** to modify how results are logged, ensuring each scenario appears as a separate test case in reports. However, this requires custom handling.

#### 3. **Use a Different BDD-Compatible Framework**

Since QAF treats each scenario as a test case, you may consider using QAF with Katalon or an alternative framework like Karate or SpecFlow, which natively report scenarios as test cases.

Hope this can help you. Thank you

---

<div class="post-metadata">

**Author:** ![dineshh](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/dineshh/32/24488_2.png) [@dineshh](https://forum.katalon.com/u/dineshh)\
**Post date:** [March 3, 2025, 5:52am UTC](https://forum.katalon.com/t/how-to-generate-reports-like-qaf/166722/5 "2025-03-03T05:52:21Z")

</div>

@michael_joseph_polin Please let us know on your query resolution

---

<div class="post-metadata">

**Author:** ![michael\_joseph\_polin](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/michael_joseph_polin/32/23870_2.png) [@michael\_joseph\_polin](https://forum.katalon.com/u/michael_joseph_polin)\
**Post date:** [March 3, 2025, 6:34am UTC](https://forum.katalon.com/t/how-to-generate-reports-like-qaf/166722/6 "2025-03-03T06:34:45Z")

</div>

still awaiting post approval for my replies

---

<div class="post-metadata">

**Author:** ![michael\_joseph\_polin](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/michael_joseph_polin/32/23870_2.png) [@michael\_joseph\_polin](https://forum.katalon.com/u/michael_joseph_polin)\
**Post date:** [March 3, 2025, 6:35am UTC](https://forum.katalon.com/t/how-to-generate-reports-like-qaf/166722/7 "2025-03-03T06:35:02Z")

</div>

> [@dineshh](#):
>
> s Katalo

thank you for your response, some of the images are broken , so the work around is on the test case and test suite level, i was wondering if i can somehow override the reports using test listeners

---

<div class="post-metadata">

**Author:** ![michael\_joseph\_polin](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/michael_joseph_polin/32/23870_2.png) [@michael\_joseph\_polin](https://forum.katalon.com/u/michael_joseph_polin)\
**Post date:** [March 3, 2025, 6:35am UTC](https://forum.katalon.com/t/how-to-generate-reports-like-qaf/166722/8 "2025-03-03T06:35:06Z")

</div>

> [@Elly\_Tran](#):
>
> se a D

i was wondering how can i do your second suggestion of using Test Listeners to Modify Reporting, can you point me to some resources or guide me on how i can do this, i have done my research but what i have come up is creation of custom reports but not the modification, it would be nice if i could just modify the default reports generated by katalon, since it would also save execution time

---

<div class="post-metadata">

**Author:** ![mihaylovdigital](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/mihaylovdigital/32/30227_2.png) [@mihaylovdigital](https://forum.katalon.com/u/mihaylovdigital)\
**Post date:** [March 3, 2025, 8:17am UTC](https://forum.katalon.com/t/how-to-generate-reports-like-qaf/166722/9 "2025-03-03T08:17:39Z")

</div>

Greetings to all testing and quality assurance specialists!

Today I want to discuss the topic of generating reports similar to QA (Quality Assurance Framework). Have any of you already encountered the creation of such reports or use them in your work?

Please share your experience.:

What tools or platforms do you use to generate reports?

What key metrics and data do you include in your reports?

How can I automate the reporting process to save time?

It is also interesting to know how you visualize data (graphs, charts) and what patterns you use for ease of perception.

---

<div class="post-metadata">

**Author:** ![kazurayam](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/kazurayam/32/333_2.png) [@kazurayam](https://forum.katalon.com/u/kazurayam)\
**Post date:** [March 3, 2025, 12:22pm UTC](https://forum.katalon.com/t/how-to-generate-reports-like-qaf/166722/10 "2025-03-03T12:22:40Z")

</div>

> [@mihaylovdigital](#):
>
> Please share your experience.:

@Russ_Thomas once posted this:

> [@How can I customize test reports in Katalon Studio?](http://forum.katalon.com/t/how-can-i-customize-test-reports-in-katalon-studio/14101/2):
>
> I wrote my own, from scratch. But beware… while this has greatly benefited me, it’s not a trivial task. However it can be done… [Image: https://s3.amazonaws.com/katalon-forum/editor/hb/rqnyafr3pilj.png] [image.png](https://s3.amazonaws.com/katalon-forum/editor/hb/rqnyafr3pilj.png)

He reported that he created a custom report of the productional quality for him in Katalon Studio. As far as I am aware, in this forum, he is the only one who managed it.

---

<div class="post-metadata">

**Author:** ![michael\_joseph\_polin](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/michael_joseph_polin/32/23870_2.png) [@michael\_joseph\_polin](https://forum.katalon.com/u/michael_joseph_polin)\
**Post date:** [March 4, 2025, 3:46am UTC](https://forum.katalon.com/t/how-to-generate-reports-like-qaf/166722/12 "2025-03-04T03:46:07Z")

</div>

sadly he did not post any code on how he did it, just the the general idea of how he did it, which brings us back to my post regarding on how to do it

---

<div class="post-metadata">

**Author:** ![kazurayam](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/kazurayam/32/333_2.png) [@kazurayam](https://forum.katalon.com/u/kazurayam)\
**Post date:** [March 4, 2025, 9:15am UTC](https://forum.katalon.com/t/how-to-generate-reports-like-qaf/166722/14 "2025-03-04T09:15:59Z")

</div>

See my previous post:

[http://forum.katalon.com/t/custom-test-report-compiled-by-testlistener-kazurayam-ks-plainreport/50537](http://forum.katalon.com/t/custom-test-report-compiled-by-testlistener-kazurayam-ks-plainreport/50537)

The project is a public GitHub repository of which Source.zip is downloadable from [Release refactored to publish PlainReport · kazurayam/kazurayam-ks-plainreport · GitHub](https://github.com/kazurayam/kazurayam-ks-plainreport/releases/tag/0.6.0)

The report is in JSON. like this:

> <https://github.com/kazurayam/kazurayam-ks-plainreport/blob/master/PlainReport/plainreport.TS1.20210430_211217.json>

This JSON is meant to cover the info I need to see.

I don’t intend to make it look beautiful.

I created this project just to demonstrate an alternative way of reporting in Katalon Studio.

I don’t really use this project for my day-to-day business.

* * *

> [@mihaylovdigital](#):
>
> What tools or platforms do you use to generate reports?

Just a small set of custom scripts in Groovy that I wrote.

No sophisticated reporting tools or platforams employed.

No visualization by graphics, charts.

---

<div class="post-metadata">

**Author:** ![michael\_joseph\_polin](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/michael_joseph_polin/32/23870_2.png) [@michael\_joseph\_polin](https://forum.katalon.com/u/michael_joseph_polin)\
**Post date:** [March 4, 2025, 10:10am UTC](https://forum.katalon.com/t/how-to-generate-reports-like-qaf/166722/15 "2025-03-04T10:10:49Z")

</div>

![image](https://europe1.discourse-cdn.com/katalon/original/3X/d/b/db1945b9bbd849ad708ca2923a2a1050e9a11b1a.png)  
reports also include cucumber reports  
which is similar to what you made, it contains the test run details as well as the steps, my goal was to override this so that i can use it for my custom reports , any luck with this?

---

<div class="post-metadata">

**Author:** ![kazurayam](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/kazurayam/32/333_2.png) [@kazurayam](https://forum.katalon.com/u/kazurayam)\
**Post date:** [March 4, 2025, 11:14am UTC](https://forum.katalon.com/t/how-to-generate-reports-like-qaf/166722/16 "2025-03-04T11:14:54Z")

</div>

I don’t know. I don’t do cucumber things at all.

---

<div class="post-metadata">

**Author:** ![michael\_joseph\_polin](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/michael_joseph_polin/32/23870_2.png) [@michael\_joseph\_polin](https://forum.katalon.com/u/michael_joseph_polin)\
**Post date:** [March 6, 2025, 10:28am UTC](https://forum.katalon.com/t/how-to-generate-reports-like-qaf/166722/17 "2025-03-06T10:28:22Z")

</div>

Hi everyone, in the end i ended up making my own reporting,  
i found a json file with the scenario details and worked on from there to create my test listener

 ![image](https://europe1.discourse-cdn.com/katalon/original/3X/1/c/1cbfddb8de0bb3e8e81c31093c124c4115bc459d.png)

---

<div class="post-metadata">

**Author:** ![Russ\_Thomas](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/russ_thomas/32/11884_2.png) [@Russ\_Thomas](https://forum.katalon.com/u/Russ_Thomas)\
**Post date:** [March 6, 2025, 9:50pm UTC](https://forum.katalon.com/t/how-to-generate-reports-like-qaf/166722/18 "2025-03-06T21:50:42Z")

</div>

> [@kazurayam](#):
>
> He reported that he created a custom report of the productional quality for him in Katalon Studio. As far as I am aware, in this forum, he is the only one who managed it.

I did. I’m still using it, too.

And Kaz, I read this, yesterday: [A fake KeywordLogger could integrate Extent Reports into Katalon project nicely](http://forum.katalon.com/t/a-fake-keywordlogger-could-integrate-extent-reports-into-katalon-project-nicely/166642)

Great job! I was reminded of some of the hurdles I needed to jump over getting it working 😅

---

<div class="post-metadata">

**Author:** ![kazurayam](https://dub1.discourse-cdn.com/katalon/user_avatar/forum.katalon.com/kazurayam/32/333_2.png) [@kazurayam](https://forum.katalon.com/u/kazurayam)\
**Post date:** [March 6, 2025, 10:30pm UTC](https://forum.katalon.com/t/how-to-generate-reports-like-qaf/166722/19 "2025-03-06T22:30:19Z")

</div>

> [@Russ\_Thomas](#):
>
> I was reminded of some of the hurdles I needed to jump over getting it working

@Russ_Thomas

Thank you for your attention. You always understand my intentions very well.
