From 3613971d87cc592b7cc9c4e957376bbdc83b8eb7 Mon Sep 17 00:00:00 2001 From: Artur Barseghyan Date: Tue, 21 May 2019 21:21:45 +0200 Subject: [PATCH] switch to chromedriver, update travis (yet failing) --- .travis.yml | 51 +++++++++++++++++++++++++------- examples/requirements/test.txt | 2 +- examples/simple/settings/base.py | 9 +++++- src/fobi/tests/base.py | 18 +++++++++-- 4 files changed, 66 insertions(+), 14 deletions(-) diff --git a/.travis.yml b/.travis.yml index c7f2cfe1..5cb7bccc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,21 +1,52 @@ +dist: xenial + language: python + cache: pip + sudo: false + matrix: + fast_finish: true include: - - env: TOXENV=py34-django18 + - env: TOX_ENV=py27-django18 + python: 2.7 + - env: TOX_ENV=py35-django18 + python: 3.5 + - env: TOX_ENV=py36-django18 python: 3.6 - - env: TOXENV=py34-django19 + + - env: TOX_ENV=py27-django111 + python: 2.7 + - env: TOX_ENV=py35-django111 + python: 3.5 + - env: TOX_ENV=py36-django111 python: 3.6 - - env: TOXENV=py34-django110 + + - env: TOX_ENV=py35-django20 + python: 3.5 + - env: TOX_ENV=py36-django20 python: 3.6 - - env: TOXENV=py35-django110 + - env: TOX_ENV=py37-django22 + python: 3.7 + + - env: TOX_ENV=py36-django21 python: 3.6 - - env: TOXENV=py35-django111 - python: 3.6 - - env: TOXENV=py35-django20 + - env: TOX_ENV=py37-django21 + python: 3.7 + + - env: TOX_ENV=py36-django22 python: 3.6 + - env: TOX_ENV=py37-django22 + python: 3.7 + install: - - pip install tox -script: -- tox + - wget http://chromedriver.storage.googleapis.com/2.42/chromedriver_linux64.zip + - unzip chromedriver_linux64.zip -d /home/travis/ + - pip install -r examples/requirements/test.txt + +before_script: + - export CHROME_BIN=/home/travis/chromedriver + - sleep 2 + +script: travis_retry tox -e $TOX_ENV diff --git a/examples/requirements/test.txt b/examples/requirements/test.txt index 9bdebfea..cf292b6c 100644 --- a/examples/requirements/test.txt +++ b/examples/requirements/test.txt @@ -5,5 +5,5 @@ pytest-cov==2.6.1 pytest-django==3.4.8 pytest-ordering==0.6 pytest==4.3.0 -selenium==2.53.6 +selenium==3.141.0 tox==3.7.0 diff --git a/examples/simple/settings/base.py b/examples/simple/settings/base.py index 8a62e53f..b2d73280 100644 --- a/examples/simple/settings/base.py +++ b/examples/simple/settings/base.py @@ -518,7 +518,6 @@ PACKAGE_NAME_GRAPPELLI = "grappelli_safe" # Just for tests # ********************* Registration settings ****************** # ************************************************************** - ACCOUNT_ACTIVATION_DAYS = 7 REGISTRATION_FORM = 'registration_addons.forms.CaptchaRegistrationForm' SIMPLE_BACKEND_REDIRECT_URL = '/en/' @@ -752,6 +751,14 @@ if DJANGO_GTE_1_8: FIREFOX_BIN_PATH = '' PHANTOM_JS_EXECUTABLE_PATH = None +CHROME_DRIVER_EXECUTABLE_PATH = os.environ.get('CHROME_BIN', None) + +from selenium import webdriver +CHROME_DRIVER_OPTIONS = webdriver.ChromeOptions() +CHROME_DRIVER_OPTIONS.add_argument('-headless') +CHROME_DRIVER_OPTIONS.add_argument('-no-sandbox') +CHROME_DRIVER_OPTIONS.add_argument('-single-process') + # Testing mode TESTING = False diff --git a/src/fobi/tests/base.py b/src/fobi/tests/base.py index 6c0d90fb..c812211c 100644 --- a/src/fobi/tests/base.py +++ b/src/fobi/tests/base.py @@ -67,12 +67,26 @@ class BaseFobiBrowserBuldDynamicFormsTest(LiveServerTestCase): @classmethod def setUpClass(cls): """Set up class.""" - # cls.driver = WebDriver() + chrome_driver_path = getattr( + settings, + 'CHROME_DRIVER_EXECUTABLE_PATH', + None + ) + chrome_driver_options = getattr( + settings, + 'CHROME_DRIVER_OPTIONS', + None + ) firefox_bin_path = getattr(settings, 'FIREFOX_BIN_PATH', None) phantom_js_executable_path = getattr( settings, 'PHANTOM_JS_EXECUTABLE_PATH', None ) - if phantom_js_executable_path is not None: + if chrome_driver_path is not None: + cls.driver = webdriver.Chrome( + executable_path=chrome_driver_path, + chrome_options=chrome_driver_options + ) + elif phantom_js_executable_path is not None: if phantom_js_executable_path: cls.driver = webdriver.PhantomJS( executable_path=phantom_js_executable_path