0% found this document useful (0 votes)
18 views13 pages

Tutorial_8_DataTable_asLists_in_Cucumber.docx

This tutorial explains the DataTable concept in Cucumber, focusing on adding column names and utilizing the asMaps method. It details how to create a list of maps containing key-value pairs, where keys represent column headers and values are the corresponding data. The tutorial also covers how to print specific values and traverse through the list of maps using a for loop.

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)
18 views13 pages

Tutorial_8_DataTable_asLists_in_Cucumber.docx

This tutorial explains the DataTable concept in Cucumber, focusing on adding column names and utilizing the asMaps method. It details how to create a list of maps containing key-value pairs, where keys represent column headers and values are the corresponding data. The tutorial also covers how to print specific values and traverse through the list of maps using a for loop.

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/ 13

Way2Automation - Tutorial 9 – DataTable (asMaps) in Cucumber

What you will Learn :


o DataTable concept
o Add column names
o DataTable asMaps
DataTable concept
Please read the DataTable concept explained in our previous tutorial. Please read the
previous tutorial before you read this one.
Add column names
Let us add one more scenario to the feature that we created in our previous tutorial.
Add one row that will have the column names

The first row will behave like a column for us. Other respective rows will behave as data
for us.
Save the feature file.
Let us now run this file to generate the step definition methods for the new scenario
Copy the code snippets

Paste them in the same step definition file that was created in previous tutorial, see
below
Remove the comments plus exceptions

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


DataTable (see below)

If you get an error, you have to import the package io.cucumber.datatable

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

Now, we know that, a map contains values on the basis of key viz key:value pair. Also, a
map contains unique keys.
In our current case, both key and value would be of ‘String’ type

Now, as you can see below, asMaps() method returns “List of Map”

This map will contain key-value pair of type ‘String’

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

So we have
Next, let us print the list ‘userList’

Save the file


Let us now re-run the feature file
Notice the console below and see that our map is getting printed

Let us see how this list looks like. Just select and copy the the entire list from console.
Paste it in notepad and arrange it a little bit:
So we have a list containing 3 maps. Each map has key/value pairs. For example, in the
first map, one of the keys is ‘FirstName’ and the corresponding value is ‘Tom’. Another
key is ‘Zip’ and value is 12345, and so on.
Also, each and every row value will be mapped to respective column headers
(FirstName, LastName etc).
Now, a list is order based, it maintains the indexing or the order. The indexing starts from
0. So see below. From this userList, let us try to print the first map. The first map has
index 0 and hence we can say userList.get(0)

So we can say

Save the file


Let us now re-run the feature file
Notice the console below and see that entire first map (index 0) is getting printed

Next, how to get a specific value from the first map?


See below. We can use the get(key) method
So we have

Let us now provide a specific key to get its value, see below. We will now try to get the
value of key ‘FirstName’ from the 0th row or 1st map

Save the file


Remember that, the keys are column headers that we have defined in our feature file,
see line#14 below

Let us now re-run the feature file

Notice the console below and see that the value ‘Tom’ gets printed
This value is correct as seen in below

Similarly you can print the values of other keys. These keys behave like columns for us.
Comment the 2 sops

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

We will now print the values of all the keys from all the 3 maps, see below
Save the file
Let us now re-run the feature file

Notice the console below and see that all the values from all the maps get printed
So this is how we can use DataTable asMaps feature.
Thank you for reading!

You might also like