diff --git a/doc/source/utils/selenium.rst b/doc/source/utils/selenium.rst index 0ad2d22d4d..4d07d93159 100644 --- a/doc/source/utils/selenium.rst +++ b/doc/source/utils/selenium.rst @@ -17,9 +17,9 @@ Il est nécessaire d'installer deux choses pour utiliser Selenium avec Django : .. sourcecode:: bash # Installation du webdriver - wget https://github.com/mozilla/geckodriver/releases/download/v0.19.0/geckodriver-v0.19.0-linux64.tar.gz + wget https://github.com/mozilla/geckodriver/releases/download/v0.30.0/geckodriver-v0.30.0-linux64.tar.gz mkdir geckodriver - tar -xzf geckodriver-v0.19.0-linux64.tar.gz -C geckodriver + tar -xzf geckodriver-v0.30.0-linux64.tar.gz -C geckodriver # Ajout du webdriver dans le PATH export PATH=$PATH:$PWD/geckodriver @@ -27,7 +27,7 @@ Pour Mac OS ou Windows, il suffit de lire les instructions à l'adresse suivante .. attention:: - La version de geckodriver à installer dépend des versions de Selenium et de Firefox ! Par exemple, la version 19.0 de geckodriver fonctionne correctement avec Selenium 3.6.0 et Firefox 55.0 ou 56.0 mais peut ne pas fonctionner avec d'autres versions. En cas de problème lors de l'Installation, ne pas hésiter à demander de l'aide ! + La version de geckodriver à installer dépend des versions de Selenium et de Firefox ! Par exemple, la version 30.0 de geckodriver fonctionne correctement avec Selenium >= 3.14 et Firefox >= 78 ESR mais peut ne pas fonctionner avec d'autres versions. Mozilla met à disposition `une table de compatibilité `_. En cas de problème lors de l'installation, ne pas hésiter à demander de l'aide ! Écriture des tests ~~~~~~~~~~~~~~~~~~ @@ -41,30 +41,32 @@ Voici le contenu d'un test : .. sourcecode:: python from django.contrib.staticfiles.testing import StaticLiveServerTestCase - from selenium.webdriver.firefox.webdriver import WebDriver from django.test import tag + from selenium.webdriver import Firefox + from selenium.webdriver.firefox.options import Options - @tag('front') + @tag("front") class MySeleniumTests(StaticLiveServerTestCase): @classmethod def setUpClass(cls): - super(MySeleniumTests, cls).setUpClass() - cls.selenium = WebDriver() - cls.selenium.implicitly_wait(10) + super().setUpClass() + options = Options() + options.headless = True + cls.selenium = Firefox(options=options) + cls.selenium.implicitly_wait(30) @classmethod def tearDownClass(cls): cls.selenium.quit() - super(MySeleniumTests, cls).tearDownClass() + super().tearDownClass() def test_zestedesavoir_is_present(self): - self.selenium.get(self.live_server_url + '/') + self.selenium.get(self.live_server_url + "/") Lancement des tests ~~~~~~~~~~~~~~~~~~~ -Il suffit d'utiliser le Makefile et de lancer ``make test-front``. +Il suffit d'utiliser le Makefile et de lancer ``make test-back-selenium``. -Il est aussi possible d'éxecuter un test précis avec ``python manage.py test zds.xxx.yyy`` où ``xxx`` est le nom du module à tester et ``yyy`` est le nom du fichier de tests à lancer. diff --git a/requirements-dev.txt b/requirements-dev.txt index d46f8d0ba7..ba4238a695 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -7,6 +7,6 @@ django-extensions==3.1.5 Faker==13.3.0 pre-commit==2.17.0 PyYAML==6.0 -selenium==3.141.0 +selenium==4.1.0 Sphinx==4.4.0 sphinx_rtd_theme==1.0.0 diff --git a/scripts/define_variable.sh b/scripts/define_variable.sh index 69b0c68827..215aa21636 100755 --- a/scripts/define_variable.sh +++ b/scripts/define_variable.sh @@ -19,9 +19,9 @@ if [[ $ZDS_LATEX_REPO == "" ]]; then fi if [[ $ZDS_JDK_VERSION == "" ]]; then - ZDS_JDK_VERSION="11.0.4" + ZDS_JDK_VERSION="11.0.14.1" # shellcheck disable=SC2034 - ZDS_JDK_REV="11" + ZDS_JDK_REV="1" fi if [[ $ZMD_URL == "" ]]; then diff --git a/scripts/dependencies/ubuntu.txt b/scripts/dependencies/ubuntu.txt index 82b633729d..78fb400942 100644 --- a/scripts/dependencies/ubuntu.txt +++ b/scripts/dependencies/ubuntu.txt @@ -25,3 +25,4 @@ build-essential imagemagick librsvg2-bin xzdec +xvfb diff --git a/scripts/install_zds.sh b/scripts/install_zds.sh index 18c2f1a73f..90e56fb898 100755 --- a/scripts/install_zds.sh +++ b/scripts/install_zds.sh @@ -255,7 +255,7 @@ if ! $(_in "-jdk-local" $@) && ( $(_in "+jdk-local" $@) || $(_in "+full" $@) ); rm -rf "$jdk_path" fi - baseURL="https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/" + baseURL="https://github.com/adoptium/temurin11-binaries/releases/download/" foldername="jdk-${ZDS_JDK_VERSION}+${ZDS_JDK_REV}" folderPATH="${foldername}/OpenJDK11U-jdk_x64_linux_hotspot_${ZDS_JDK_VERSION}_${ZDS_JDK_REV}.tar.gz"