Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mise à jour de Selenium, geckodriver et OpenJDK #6258

Merged
merged 3 commits into from
Mar 25, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 14 additions & 12 deletions doc/source/utils/selenium.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,17 @@ 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

Pour Mac OS ou Windows, il suffit de lire les instructions à l'adresse suivante : https://github.com/mozilla/geckodriver/

.. 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é <https://firefox-source-docs.mozilla.org/testing/geckodriver/Support.html>`_. En cas de problème lors de l'installation, ne pas hésiter à demander de l'aide !

Écriture des tests
~~~~~~~~~~~~~~~~~~
Expand All @@ -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.
2 changes: 1 addition & 1 deletion requirements-dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
4 changes: 2 additions & 2 deletions scripts/define_variable.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"
philippemilink marked this conversation as resolved.
Show resolved Hide resolved
fi

if [[ $ZMD_URL == "" ]]; then
Expand Down
1 change: 1 addition & 0 deletions scripts/dependencies/ubuntu.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,4 @@ build-essential
imagemagick
librsvg2-bin
xzdec
xvfb
2 changes: 1 addition & 1 deletion scripts/install_zds.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down