javascript - Protractor - How to get actual values from the Repeater, not the Elements? -
i creating protractor script test quiz game puts random questions , answers, need script able figure out answer correct, can click it.
i can't figure out how values directly model, instead of elements, since correct/incorrect not exposed element on page.
the model provides answers in choice in question.choices, , need find choice choice.iscorrect true. how access value?
i wouldn't use element() function, right?
element(by.repeater('choice in question.choices').row(0).column('choice.iscorrect'))
the idea use element.all() in conjunction filter() , evaluate():
var correctchoices = element.all(by.repeater('choice in question.choices')).filter(function (elm) { return elm.evaluate('choice.iscorrect').then(function (value) { return value; }); }); as result correctchoices contain elements choice.iscorrect truthy.
if need array of values correct choices, use map() , getattribute():
correctchoices.map(function (elm) { return elm.getattribute('value'); }); or, if need texts make use of gettext():
correctchoices.map(function (elm) { return elm.gettext(); });
Comments
Post a Comment