0% found this document useful (0 votes)
11 views10 pages

Tutorial 8 DataTable AsLists in Cucumber.docx

This tutorial covers the DataTable concept in Cucumber BDD, explaining how to use DataTable to parameterize steps for user registration with multiple users. It demonstrates the use of the asLists() method to retrieve data in a list format and provides guidance on implementing this in step definition files. The tutorial concludes with instructions on running the feature file and creating a RunnerTest file for JUnit testing.

Uploaded by

abhimanyu thakur
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views10 pages

Tutorial 8 DataTable AsLists in Cucumber.docx

This tutorial covers the DataTable concept in Cucumber BDD, explaining how to use DataTable to parameterize steps for user registration with multiple users. It demonstrates the use of the asLists() method to retrieve data in a list format and provides guidance on implementing this in step definition files. The tutorial concludes with instructions on running the feature file and creating a RunnerTest file for JUnit testing.

Uploaded by

abhimanyu thakur
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Way2Automation - Tutorial 8 – DataTable (asLists) in Cucumber

What you will Learn :


o DataTable concept
o DataTable asLists
DataTable concept
We will now study about Data Table concept in Cucumber BDD. We can parameterize a
particular step in our feature file. For example, I might want to do a couple of user
registrations with multiple users. Now, to register a user, we might need to enter the
user’s firstname, lastname, etc.
Consider the below block to register a single user. It would become cumbersome if we
repeat the same block again and again to register all the users.

To make this simpler, we will use the DataTable feature in cucumber and write as follows.
We write the pipe separated user data and notice that the feature file is more readable
now. The file contains the data of 3 users.

Save the file


Let us now run this file to generate the step definition methods

Copy the code snippets

Paste them in a step definition file


Import the missing packages and remove the comments plus exceptions. If you notice,
for the second method, the data is coming in the form of dataTable. Also, it is coming
from library io.cucumber.datatable.DataTable

If you want, instead of writing io.cucumber.datatable.DataTable, you can simply write


DataTable (see below)
However you have to import the same package io.cucumber.datatable

So let us do that
So when the 2nd step @When will be executed, the multiple data sets that you have
given in the feature file will be coming to this particular dataTable

Next, let us write simple SOPs for first and third step

Next, let us now concentrate on second step @When, see below


DataTable asLists
As you can see below, there is a method asLists() available
Let us use that method

Now, what kind of list you want to get? We want to get ‘String’ type of list, because the
dataset in the feature file is in string format. So we will simply write String.class

Now, as you can see below, this asLists() method returns “List of List of object”. Again,
this list will again be of type ‘String’

So we can say

Next, let us import this list from java.util package

So we have
Next, we will create a ‘for’ loop so that we can traverse this particular userList.
So, we want to traverse through a ‘List of string’ viz List<String>

We will next print the value of ‘li’

It means, print each and every list. So in the first iteration, we will be getting the first list
viz first set of data
In the second iteration, we will get

And so on…
Save the step definition file.
Let us now re-run our feature file

See the console. When the user is on registration page, we are entering the 3 data set of
values
So like this way, you can use the concept of datatable in cucumber. The datatable can be
applied to any type of step Given/When/Then etc..
Let us create a RunnerTest file and run it as Junit test

See the console o/p below. We get exactly the same thing
Reference
You can further refer www.baeldung.com/cucumber-data-tables

Thank you for reading!

You might also like