Селен + Firefox + Geckodriver не загружается jQuery - PullRequest
0 голосов
/ 28 августа 2018

В настоящее время я пишу некоторые модульные тесты для проекта Django.

Однако, когда Selenium загружает страницу, она не загружает jQuery, и я получаю это в geckodriver.log:

JavaScript error: http://localhost:59726/, line 370: ReferenceError: $ is not defined

Сценарий находится в теге head:

<script src="/static/scripts/jquery-1.9.1.min.js"></script>

Страница отлично загружается в Firefox. Есть идеи?

селен версия 3.14
Geckodriver 0,21
firefox 61.0.1

1 Ответ

0 голосов
/ 29 августа 2018

Проблема здесь многогранна:

  • В модульных тестах Django будет запущен не Nginx, а собственный внутренний веб-сервер. Этот веб-сервер работает с Debug = False и не будет обслуживать статические файлы. Таким образом, вам нужно будет использовать StaticLiveServerTestCase вместо LiveServerTestCase

  • В Django 2.0 есть ошибка, из-за которой StaticLiveServerTestCase не работает. («Нетип не вызывается»). Обновление до Джанго 2.1

  • Статические файлы должны находиться в том месте, где их может найти программа поиска приложения staticfiles. Просто иметь файлы в STATIC_ROOT недостаточно. Они должны находиться в папке приложения, например /project/app/static/. Да, возможно, вам придется дублировать все ваши статические файлы.

После этого Selenium сможет загружать локальные ресурсы.

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