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