lexand
(lexand)
29.Декабрь.2012 10:26:23
#1
implicitWait - не хватает для нормального прохода теста
приходится местами вставлять костыли в виде sleep(...)
пока что ставили 1 с. Знали что вылещет и вылезло - на некоторых машинах одной секунды мало надо увеличивать.
На сколько правильно расставлять слипы в тестах? есть какойто другой гарантированный способ?
(мы используем PHPUnit и Selenium2TestCase, который с вебдрайвер, может имеет смыл вообще все селеним тесты на джаве писать ? )
polusok
(Mykhailo Poliarush)
29.Декабрь.2012 18:47:43
#2
вставлять sleep в автотесты, это всеравно что хардкодить в программировании
т.е. это плохо, так лучше не делать
для этого есть как неявные ожидания, которые вы уже используете
так, есть и явные ожидания, которые реализуются классов WebDriverWait
посмотрите в эту сторону, там вы можете задать любые условия ожидания элемента или каких-то критериев
lexand
(lexand)
30.Декабрь.2012 16:55:04
#3
исходя из вашего сообщения я так понял что ну его нафиг тот PHPUnit и лучше пользоваться тем у чего есть полная поддержка WebDriver
jackkainov
(jackkainov)
30.Декабрь.2012 20:53:14
#4
ИМХО, Каждый случай индивидуален) Просто как раз в Вашем случае в WebDriverWait есть инструменты, которые не просто "остановят" весь процесс на какое-то время, а будут ожидать появления некоторого элемента на странице в течение, например, максимум 10 секунд и каждые 5 мл сек перепроверять не появился ли он. То есть ресурсы и время прохождения теста расходуются эффективнее.
polusok
(Mykhailo Poliarush)
31.Декабрь.2012 08:37:11
#5
просто надо понимать, что уже есть функциональность, которая уже реализована и ее можно использовать
а дальше вы сами принимайте решение, хотите вы ее использовать
или писать свой велосипед
lexand
(lexand)
31.Декабрь.2012 09:27:01
#6
вот это все
https://github.com/sebastianbergmann/phpunit-selenium/blob/master/Tests/Selenium2TestCaseTest.php
что есть для вебдрайвера в в PHPUnit
я все больше убеждаюь что нужно таки на джаву переходить
polusok
(Mykhailo Poliarush)
31.Декабрь.2012 18:10:12
#7