I am learning Cypress with BDD, I have little knowledge of it.
I have data table like below:
Scenario: Verify data table
Given I can get values to corresponding keys
| Key | Value |
| Hello | World |
| Foo | Bar |
| John | Doe |
I wrote a function to get values for corresponding keys.
getDataTableValue(dataTable, keyValue){
let valueIs;
dataTable.hashes().forEach((element) => {
if (element.Key === 'Foo') {
valueIs = element.Value;
}
});
return valueIs;
}
Now when I am calling this function, it always return top value i.e. "World"
cy.log(getDataTableValue(dataTable, "Foo"));
However when I run:
dataTable.hashes().forEach((element) => {
cy.log(element.Value);
});
it works fine, it prints World
, Bar
, Doe
My expectation from for each
loop is that -
element
starts at index 0
for that index it finds Key
, if that key value is matching then for that index element
will give me Value
.
Why it is not working as per expectations? How can I fix this?
Via Active questions tagged javascript - Stack Overflow https://ift.tt/RIXwFcQ
Comments
Post a Comment