вложение каждой функции в транспортир - PullRequest
0 голосов
/ 06 июля 2018

Я использую транспортир для запуска базовых тестов работоспособности на веб-странице.

На одной странице пять вкладок, а внутри третьей (index = 2) еще три вкладки.

Я написал следующий код, чтобы просмотреть каждый из них в порядке.

Причина if (index! = 1) заключается в том, что страница загружается на вторую вкладку.

Код утешает элементы внутри второго if блока.

Но не выполняется вторая "каждая" команда.

Что я здесь не так делаю?

Мне нужно, чтобы браузер придерживался третьей основной вкладки, затем проходил через вложенные вкладки и затем переходил к четвертой основной вкладке.

it('going through the sub tabs in manage page', function(){

        expect(element.all(by.css('.settingsTabs li a')).count()).toBe(5);
        element.all(by.css('.settingsTabs li a')).each(function(element, index) {
            if(index!= 1){
                element.click();
                browser.driver.sleep(3000);
                browser.sleep(3000);
            }
            if(index == 2){
                console.log(element.all(by.css('.ng-isolate-scope ul li a')));
                element.all(by.css('.ng-isolate-scope ul li a')).each(function(element1) {
                    element1.getText().then(function(text) {
                        console.log(text);
                    });
                });
            }
        });
    });

1 Ответ

0 голосов
/ 08 июля 2018

Я понял это в конце концов.

Было две ошибки, которые я сделал.

Один был локатором, а другой - именованием переменных.

Поскольку я вкладываю каждую функцию, я должен объявлять разные имена переменных в качестве параметров.

В моем случае я назвал их всех "элементом", который был основной причиной всех этих неприятностей.

Фиксированный код указан ниже:

element.all(by.css('.settingsTabs li a')).each(function(elem, index) {
      if(index!= 1){ // here i named the passed argument "elem" 
        elem.click();
        browser.driver.sleep(2000);
      }
      if(index == 2){
        expect(element.all(by.css('.tab-pane li a')).count()).toBe(3);
        browser.driver.sleep(2000);
        element.all(by.css('.tab-pane li a')).each(function(elemen) { // here it is "elemen"
          elemen.click();
          browser.driver.sleep(2000);
          elemen.getText().then(function(text) {
          console.log(text);
          });
        });
      }
      if(index == 3){
        expect(element.all(by.css('.diagnostic-options li')).isPresent()).toBeTruthy();
      }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...