Транспортир, если еще с ожидаемым (условие) - PullRequest
0 голосов
/ 22 января 2019

В моем скрипте мне нужно включить условие if-else, чтобы проверить, является ли ожидаемый = фактическим. Если они не совпадают, он должен перейти в блок else и вывести «StepFailed». Но всегда выполняется блок if иo / p - «шаг пройден», хотя ожидается ≠ Actual.Below - мой код:

var expected = ['Select training program using Index', 'Selenium','A','UFT/QTP','Loadrunner'];
var els = element.all(by.xpath("//select[@id='dropdown1']/option"));
   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'+ '');
     }
});

Выпадающие значения: «Выберите программу обучения, используя Index», «Selenium», «Appium», «UFT / QTP ',' Loadrunner '. Если бы вы заметили, что я дал' A 'вместо' Appium ', следовательно, шаг должен завершиться неудачно, но этого не происходит.

, пожалуйста, предложите мне, как это можно решить. Спасибо.

1 Ответ

0 голосов
/ 22 января 2019

Во-первых, нет необходимости подтверждать, если вы проверяете условное значение

Вы могли бы сделать что-то вроде этого -

var expected = ['Select training program using Index', 'Selenium', 
'A','UFT/QTP','Loadrunner'];

var els = element.all(by.xpath("//select[@id='dropdown1']/option"));

for (var i = 0; i < expected.length; ++i) {
   els.get(i).getText().then((text) => {
       if(text === expected[i] ) {
           console.log('' +'Steppassed'+ '');
         } else {
            console.log('' +'Stepfailed'+ '');
           }
         });
       }

Вы также можете использовать синтаксис async / await для лучшей обработки и читаемости обещаний!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...