Updated tox file to fix enviroments variables.
to run tox use the following command:
tox -e env_name -c /path/to/file/tox.ini
See tox cli https://tox.wiki/en/latest/cli_interface.html
The variable env_name is linked to the python versions (py38, py39, py310).
If env_name option is not set,  the test suite will run for all indicated 
versions.

It was also modified the webdriver options for chrome to run selenium test in 
console because of the error detected in the previous test run
selenium.common.exceptions.SessionNotCreatedException: Message: session not 
created: Chrome failed to start: exited normally.
  (session not created: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer 
running, so ChromeDriver is assuming that Chrome has crashed.)

Signed-off-by: Marlon Rodriguez Garcia 
<[email protected]>

Changes in v2
- Updated variable path BUILDDIR and EVENTREPLAY_DIR to use enviroment value
- Updated toaster-requirements.txt file path
- Removed flake8
- Added webdriver options to chrome
---
 .../tests/browser/selenium_helpers_base.py    |  8 +++++++-
 lib/toaster/tox.ini                           | 20 +++++++++++++++++++
 2 files changed, 27 insertions(+), 1 deletion(-)
 create mode 100644 lib/toaster/tox.ini

diff --git a/lib/toaster/tests/browser/selenium_helpers_base.py 
b/lib/toaster/tests/browser/selenium_helpers_base.py
index 9a4e27a3..e0ac4376 100644
--- a/lib/toaster/tests/browser/selenium_helpers_base.py
+++ b/lib/toaster/tests/browser/selenium_helpers_base.py
@@ -33,7 +33,13 @@ def create_selenium_driver(cls,browser='chrome'):
         browser = env_browser
 
     if browser == 'chrome':
-        return webdriver.Chrome()
+        options = webdriver.ChromeOptions()
+        options.add_argument('headless')
+        options.add_argument('--disable-infobars')
+        options.add_argument('--disable-dev-shm-usage')
+        options.add_argument('--no-sandbox')
+        options.add_argument('--remote-debugging-port=9222')
+        return webdriver.Chrome(options=options)
     elif browser == 'firefox':
         return webdriver.Firefox()
     elif browser == 'marionette':
diff --git a/lib/toaster/tox.ini b/lib/toaster/tox.ini
new file mode 100644
index 00000000..8c0fe171
--- /dev/null
+++ b/lib/toaster/tox.ini
@@ -0,0 +1,20 @@
+[tox]
+envlist = py38, py39, py310
+skipsdist = True
+toxworkdir = {env:TOX_WORKDIR:.tox}
+passenv = *
+
+[testenv]
+setenv =
+    DJANGO_SETTINGS_MODULE=toastermain.settings_test
+    TOASTER_BUILDSERVER=1
+    BUILDDIR = {env:BUILDDIR}
+    EVENTREPLAY_DIR = {env:EVENTREPLAY_DIR:BUILDDIR}
+commands =
+    python3 {toxinidir}/manage.py test tests.db tests.commands tests.builds 
tests.browser tests.functional tests.views
+deps = 
+    -r {toxinidir}/../../toaster-requirements.txt
+    -r {toxinidir}/tests/toaster-tests-requirements.txt
+
+[testenv:chrome]
+commands={[testenv]commands} --splinter-webdriver=chrome
\ No newline at end of file
-- 
2.34.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#5887): https://lists.yoctoproject.org/g/toaster/message/5887
Mute This Topic: https://lists.yoctoproject.org/mt/102163592/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/toaster/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to