Pull to refresh

Comments 18

Selenium великолепен. Единственный напрягающий момент — скорость работы.

Запустил тесты — пошел курить или пить чай. Это слегка отпугивает от частого запуска тестов.

Хотя, дело может быть в том, что я тестировал его на нетбуке с AMD E-450, 2x1.6GHz. Хочу позже попробовать его на чём-нибудь мощнее.
Причин может быть много, в любом случае Selenium не может работать быстрее чем отвечает сервер, у нас в проекте сервер как раз и является узким местом когда натравливливаешь на него Selenium-тесты хотя бы в 8-10 потоков. Приходится оптимизировать сами тесты, переиспользовать сущности в БД и т.п.
Может быть. Я гонял тесты над проектом, развёрнутым на локальной машине. Так что, скорее всего, всё упирается именно в производительность системы и железа. Сам проект, правда, тоже не был идеалом производительности, но отвечал довольно шустро.
UFO just landed and posted this here
Когда оплата зависит от того, сколько ты успел сделать — отмазки отпадают сами собой. И уже сам считаешь кропотливо каждую потраченную минуту.
UFO just landed and posted this here
Вы знаете, и пра… Стоп.



На самом деле, я даже «плюсанул» ваш комментарий. Он этого стоил хотя бы за XKCD. =)

Раньше, когда какое-то время работал на фиксированной ставке, я тоже на эту тему шутил. И про тесты тоже. Но сейчас для меня эти шутки не особо актуальны, как и для многих других программистов, я уверен.

Ещё из той же оперы: а что ты успеваешь сделать, пока течёт твой любимый кетчуп запускается твоя любимая IDE?
Selenium великолепен. Единственный напрягающий момент — скорость работы.

Запустил тесты — пошел курить или пить чай. Это слегка отпугивает от частого запуска тестов.


Учитывая, что Selnium-тесты эмулируют работу пользователя – то в сравнении с этим скорость работы WebDriver – значительно выше.

И да, скорее всего тут все упирается в железо и скорость передачи по сети

Но, еще очень важны и другие оптимизации, например:

1. Не закрывать браузер после каждого теста
2. Иногда применять JavaScript для получения той информации, которая посредством WebDriver получить долго

Пример:
Известно, что WebDriver работает по протоколу REST и HTTP, который сам по себе не самый быстрый (зато понятный и универсальный).
Если мы попробуем найти все элементы на страницы, то REST вернет лишь ссылки на эти элементы, а не всю информацию целиком.
Потом, если мы захотим вывести, например имя тэга и значение Displayed – то будет сделано по два HTTP запроса к серверу на каждый элемент.
И это хорошо, если сервер развернут локально, а иначе – тормоза будут ощущаться очень сильно
1. Не закрывать браузер после каждого теста


Да, я так и делал. И сервер с приложением развёрнут был локально.
Хочу заметить, что вызовы JavaScript передаются через тот же REST интерфейс, так что прирост скорости местами будет сомнительный.
P.S. Уточнение, за исключением когда приходится долго обходить дерево и атрибуты :)
Зависит от ситуации, конечно.
Если два вызова Вебдрайвера заменить на один JavaScript – то выигрыш будет действительно сомнительным.
А вот если сотню на один – то вполне можно.
Тут есть другое дело, что при такой оптимизации, решение на JavaScript может вызывать меньшее доверие и некоторые вызовы могут вести себя по иному, чем это делает реальный пользователь.
В таких обстоятельствах нужно просто учитывать конкретную ситуацию и конкретный код

Еще пример.
На странице Линкедина есть блок добавления группы пользователей. У каждого пользователя есть своя кнопка «Добавить». Как показывает практика, один вызов на JQuery с «одновременным» нажатием всех кнопок работает на порядок быстрее и не портит конечный результат.

UFO just landed and posted this here
А улучшения в работе с регулярными выражениями планируются?
В статье ничего не говорилось, но надеяться можно.
Поясните свой вопрос, использование регулярных выражений где имеется в виду?
к примеру при использовании By.LinkText() или By.Id()
Нет, не планируются.
Вместо By.id используйте By.cssSelector с проверками $= ^= и другими подобными.
Поиск по регулярному выражению (и не обязательно ссылок, кстати) можете реализовать самостоятельно, механизм локаторов же не фиксированный.
Sign up to leave a comment.

Articles