Разница между django-webtest и селеном

Я читал о тестировании в джанго. Одна вещь, которая была рекомендована, – использование django-webtest для функционального тестирования. Я нашел здесь достойную статью, в которой рассказывается, как перейти к функциональному тестированию в селене с помощью python. Но люди также рекомендовали расширять djagno-webtest для интернет-тестировщика Ian Bicking для тестирования форм в django. Как тестирование с веб-тестированием и тестирование с селеном различаются в контексте форм джанго?

Таким образом, с точки зрения функционального тестирования:

Как django-webtest и селен идут бок о бок?

Должны ли мы иметь их обоих или кого-нибудь?

2 Solutions collect form web for “Разница между django-webtest и селеном”

Важно знать о Selenium, так это то, что он в первую очередь построен как серверно-агностическая среда тестирования. Не имеет значения, какая структура или серверная реализация используется для создания front-end, если она ведет себя так, как ожидалось. Кроме того, в то время как вы можете (и, когда это возможно, вам, вероятно, следует ) писать тесты вручную в Selenium, многие тесты записывают макросы кого-то, проходящего через движения, которые затем превращаются в код автоматически.

С другой стороны, django-webtest построен специально для работы с сайтами Django. Это фактически расширение, специфичное для Django для WebTest, которое не является Django-only, а WSGI-only (и, следовательно, Python-only). Из-за этого он может взаимодействовать с приложением с более высоким уровнем осведомленности о том, как все работает на сервере. Это может ускорить выполнение тестов, а также упростить запись более подробных и подробных тестов. Кроме того, в отличие от Selenium, ваши тесты не могут быть автоматически записаны в виде записанных макросов.

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

Главное отличие заключается в том, что селен запускает фактический браузер, а WebTest – к WSGI. Это приводит к следующим различиям:

  • Вы не можете тестировать JS-код с помощью WebTest, так как запускать его нечем.
  • WebTest намного быстрее, так как он перехватывает WSGI, это также означает меньший объем памяти
  • WebTest не требует фактического запуска сервера на порту, поэтому его немного легче
  • WebTest не проверяет различные проблемы, которые возникают с фактическими браузерами, например, определенные ошибки в браузере (cough .. internet explorer .. cough ..)

Итог: PREFER для использования WebTest, если вы НЕ ДОЛЖНЫ использовать Selenium для вещей, которые не могут быть протестированы с помощью WebTest.

  • Ошибка «Разрешить отказ» разрушает Selenium scraping
  • безголовый-селен для победы с помощью Python
  • Драйвер Selenium firefox снимает скриншот окна (не полноэкранный)
  • Селен: Закройте скрипт Python без закрытия браузера
  • Проверьте, доступен ли элемент в селене
  • Экспортировать тест как питон из Selenium IDE
  • Изменить язык в Firefox с помощью Selenium Python
  • Получить консольный журнал хрома
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.