Я хочу сравнить полученный текст из раскрывающегося списка с моим ожидаемым текстом.Я не уверен, как это сделать, так как я новичок в транспортире с фреймворком огурца. Нужна помощь!
DOM:
<select id="dropdown1">
<option value="0" selected="selected">Select training program using
Index</option>
<option value="1">Selenium</option>
<option value="2">Appium</option>
<option value="3">UFT/QTP</option>
<option value="4">Loadrunner</option>
</select>
Я пробовал приведенный ниже код, но получаю эту ошибку:
AssertionError: ожидается, что {Object (browser_, затем, ...)} будет равен 'Выберите программу обучения, используяIndex '
Then(/^User clicks the drop down$/, async() => {
var expected = ['Select training program using Index', 'Selenium',
'Appium','UFT/QTP','Loadrunner'];
var els = element.all(by.id('dropdown1'))
for (var i = 0; i < expected.length; ++i) {
expect(els.get(i).getText()).equals(expected[i]);
console.log('' +'Steppassed'+ '');
}
});
Я ожидаю, что шаг будет пройден, как мои "ожидаемые", и значения выпадающего меню совпадают.
Предложение, которое вы предоставили, работает, но,когда я изменяю один из моих ожидаемых, он должен потерпеть неудачу. Для этого я предусмотрел цикл if-else, но всегда показывает, что шаг пройден. В приведенном ниже примере я изменил «Appium» на «A».
Ниже приведен мой код. Пожалуйста, помогите мне с циклом:
Then(/^User clicks the drop down$/, async() => {
var expected = ['Select training program using Index', 'Selenium',
'A','UFT/QTP','Loadrunner'];
var els = element.all(by.id('dropdown1'))
for (var i = 0; i < expected.length; ++i) {
if(expect(els.get(i).getText()).to.eventually.equals(expected[i])){
console.log('' +'Steppassed'+ '');
}else{
console.log('' +'Stepfailed'+ '');
}
}
});