Как использовать цикл в Nightwatchjs - PullRequest
0 голосов
/ 27 мая 2018

Если честно, я новичок в автоматизации js и nightwatchjs, но есть проблема с созданием цикла в nightwatchjs.Задача состоит в том, чтобы нажать на кнопку, когда элемент не виден, он может стать видимым в произвольном порядке после нажатия.Итак, я борюсь с проблемой, как добавить цикл while в коде в nightwatchjs, потому что мое видение решения этой проблемы - это цикл, например:

while(check for element)
.click('[Our_Button]')

И я пытался использовать это nightwatch js while loop , но это не помогает, это была ошибка "Ошибка при выполнении команды clickUntilNotVisible: browser.waitUntil не является функцией" Возможно, можно использовать лучший способ без цикла, но я не сделалничего не найти.

Ответы [ 2 ]

0 голосов
/ 07 августа 2018

Вы можете использовать метод .perform (), а изнутри вы можете создать функцию.Примерно так:

this.api.perform(function (browser, done){
  while (condition) {
    //code block                     
  }
  done();
})

У меня работает.Надеюсь, это поможет.

Ура

0 голосов
/ 01 июня 2018

Вы можете попробовать использовать setInterval и clearInterval, , прочитайте о них здесь .setInterval принимает аргумент функции и аргумент задержки и будет выполнять функцию каждый раз, когда проходит назначенный интервал задержки.Вы даже можете сделать так, чтобы при выполнении вашего условия интервал очищался , как описано в этом ответе переполнения стека .

Используя this , вы сможетепроверить ваш элемент и отправлять клики, пока он не появится в любой интервал времени, который вы пожелаете.Имейте в виду, что если он никогда не станет видимым, он никогда не прекратит выполнение, поэтому вы можете также использовать setTimeout с большой задержкой, чтобы очистить интервал или не пройти тест.

...