Как добиться явного тайм-аута и неявного тайм-аута в транспортире с использованием машинописи? - PullRequest
0 голосов
/ 25 февраля 2019

при выборе элементов с помощью xpath и при перезагрузке страницы.это показывает ошибку TIMEOUT.с использованием browser.sleep (5000 т.е. некоторое значение) я могу выполнить тестовый пример без ошибки.Но как сделать его применимым к каждому элементу, когда даже требуется вместо того, чтобы писать каждый раз browser.sleep

Ответы [ 3 ]

0 голосов
/ 25 февраля 2019

Вместо browser.sleep используйте browser.wait

Пример:

var EC = protractor.ExpectedConditions;
// Waits for the element with id 'abc' to be visible on the dom.
browser.wait(EC.visibilityOf($('#abc')), 5000);

Для более подробной информации проверьте https://www.protractortest.org/#/api?view=ProtractorExpectedConditions

0 голосов
/ 01 марта 2019

Добавление к ответам выше!

Неявное ожидание: чтобы ждать определенное время, мы можем использовать browser.sleep ()

browser.sleep(3000) //waits for 3 seconds

Явное ожидание: Вы можете добиться явного ожидания сОжидаемые условия

//Will wait till element is visible, if not visible in 5 sec, will timeout     
browser.wait(EC.visibilityOf($('abc')),5000, 'abc element is not visiblie');

Еще одно преимущество, которое мы можем использовать .then для выполнения необходимых действий после того, как элемент видим.

//Do something once the element is visible     
browser.wait(EC.visibilityOf($('abc')),5000, 'abc element is not visiblie').then(()=>{
   //code once the element is visible
});

Приветствия!

0 голосов
/ 25 февраля 2019
jasmineNodeOpts: {
  print: function() {},
  showColors: true,
  defaultTimeoutInterval: 2500000,
}

вышеупомянутый конф поможет вам решить вашу проблему

для неявного всегда используйте транспортир ExcpectedConditions(EC)

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