2016-04-28 2 views
3

Я кодирую мой тест AngularJS с транспортиром/JUnitТранспортир - проверка, если элемент isNotPresent очень медленно - Какие альтернативы?

Я готов проверить, что элемент НЕ присутствует.

До сих пор я использую следующее:

expect(elem.isPresent()).toBe(false); 

Это работает, как ожидалось, но это способ замедлить. Я не хочу, чтобы элемент изменил состояние с isPresent на isNotPresent, просто чтобы проверить в определенный момент моих тестов, что у меня нет другого элемента.

Это так же важно для меня, как и тестирование этого элемента.

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

Я желаю как можно быстрее выполнить этот тест не-присутствия.

Поэтому я пробовал различные Approch, такие как:

- expect(element.all(locator).count()).toEqual(0) 
- ExpectedCondition : seems promising, but I do not see any condition for isNotPresent. 

Я бегу из идей до сих пор, любые предложения будут оценены

Спасибо за поддержку

ответ

2

Что вы может сделать это, чтобы уменьшить implicit wait timeout:

onPrepare: function(){ 
    browser.manage().timeouts().implicitlyWait(2000); 
}, 

Хотя убедитесь, что это не влияет на другие области ваших тестов.


Другим вариантом было бы использовать browser.isElementPresent() вместо которой является реализация чистом WebDriver о проверке присутствия и, следовательно, поможет избежать транспортир-к-угловой синхронизации:

expect(browser.isElementPresent(elem)).toBe(false); 

Также см :

Смежные вопросы