kopia lustrzana https://github.com/jedie/PyInventory
add basic selenium tests
rodzic
fb10e1fcf6
commit
3e65894f5f
|
@ -1034,6 +1034,17 @@ python-versions = ">=3.5"
|
|||
cryptography = ">=2.0"
|
||||
jeepney = ">=0.4.2"
|
||||
|
||||
[[package]]
|
||||
name = "selenium"
|
||||
version = "3.141.0"
|
||||
description = "Python bindings for Selenium"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
||||
[package.dependencies]
|
||||
urllib3 = "*"
|
||||
|
||||
[[package]]
|
||||
name = "six"
|
||||
version = "1.15.0"
|
||||
|
@ -1255,7 +1266,7 @@ postgres = ["psycopg2-binary"]
|
|||
[metadata]
|
||||
lock-version = "1.1"
|
||||
python-versions = ">=3.7,<4.0.0"
|
||||
content-hash = "639d02b48a5969184e2994899523031192e5a2dc35e644c1760086c5f74893a5"
|
||||
content-hash = "255146b2cf501cee5d0301c28f1b0ce6b03ecf3ff94d28ad46318c944aad7bc9"
|
||||
|
||||
[metadata.files]
|
||||
appdirs = [
|
||||
|
@ -1792,6 +1803,10 @@ secretstorage = [
|
|||
{file = "SecretStorage-3.2.0-py3-none-any.whl", hash = "sha256:ed5279d788af258e4676fa26b6efb6d335a31f1f9f529b6f1e200f388fac33e1"},
|
||||
{file = "SecretStorage-3.2.0.tar.gz", hash = "sha256:46305c3847ee3f7252b284e0eee5590fa6341c891104a2fd2313f8798c615a82"},
|
||||
]
|
||||
selenium = [
|
||||
{file = "selenium-3.141.0-py2.py3-none-any.whl", hash = "sha256:2d7131d7bc5a5b99a2d9b04aaf2612c411b03b8ca1b1ee8d3de5845a9be2cb3c"},
|
||||
{file = "selenium-3.141.0.tar.gz", hash = "sha256:deaf32b60ad91a4611b98d8002757f29e6f2c2d5fcaf202e1c9ad06d6772300d"},
|
||||
]
|
||||
six = [
|
||||
{file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"},
|
||||
{file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"},
|
||||
|
|
|
@ -72,6 +72,7 @@ pytest-randomly = "*"
|
|||
pytest-cov = "*"
|
||||
pytest-django = "*"
|
||||
pytest-parallel = "*"
|
||||
selenium = "*"
|
||||
coveralls = "*"
|
||||
isort = "*"
|
||||
flake8 = "*"
|
||||
|
|
|
@ -1,8 +1,18 @@
|
|||
import os
|
||||
import unittest
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
from django.test import TestCase
|
||||
from django_processinfo.models import ProcessInfo, SiteStatistics
|
||||
from django_tools.selenium.chromedriver import chromium_available
|
||||
from django_tools.selenium.django import (
|
||||
SeleniumChromiumStaticLiveServerTestCase,
|
||||
SeleniumFirefoxStaticLiveServerTestCase,
|
||||
)
|
||||
from django_tools.selenium.geckodriver import firefox_available
|
||||
from model_bakery import baker
|
||||
|
||||
from inventory import __version__
|
||||
from inventory.permissions import get_or_create_normal_user_group
|
||||
|
||||
|
||||
|
@ -73,3 +83,23 @@ class ProcessinfoAdminTestCase(TestCase):
|
|||
|
||||
assert SiteStatistics.objects.count() == 1
|
||||
assert ProcessInfo.objects.count() == 1
|
||||
|
||||
|
||||
@unittest.skipIf('CI' in os.environ, 'Skip, selenium tests does not work on CI run!')
|
||||
@unittest.skipUnless(chromium_available(), "Skip because Chromium is not available!")
|
||||
class AdminChromiumTests(SeleniumChromiumStaticLiveServerTestCase):
|
||||
def test_admin_login_page(self):
|
||||
self.driver.get(self.live_server_url + "/admin/login/")
|
||||
self.assert_equal_page_title(f"Log in | PyInventory v{__version__}")
|
||||
self.assert_in_page_source('<form action="/admin/login/" method="post" id="login-form">')
|
||||
self.assert_no_javascript_alert()
|
||||
|
||||
|
||||
@unittest.skipIf('CI' in os.environ, 'Skip, selenium tests does not work on CI run!')
|
||||
@unittest.skipUnless(firefox_available(), "Skip because Firefox is not available!")
|
||||
class AdminFirefoxTests(SeleniumFirefoxStaticLiveServerTestCase):
|
||||
def test_admin_login_page(self):
|
||||
self.driver.get(self.live_server_url + "/admin/login/")
|
||||
self.assert_equal_page_title(f"Log in | PyInventory v{__version__}")
|
||||
self.assert_in_page_source('<form action="/admin/login/" method="post" id="login-form">')
|
||||
self.assert_no_javascript_alert()
|
||||
|
|
Ładowanie…
Reference in New Issue