Skip to main content

A quick login for selenium tests to be used in Django projects

Project description

django-selenium-login sets a session cookie for the Selenium driver and a creates a session object for the Django backend in order to force a user to quickly login.

Usage

With django-selenium-login you can use the force_login function to force a user to qucikly login before using the the Selenium driver to proceeds on pages that requires login. The function takes a Django user, a Selenium driver, and the base url for the live server. Here is an example of how to use the force_login function in a test:

from seleniumlogin import force_login


def test_use_django_selenium_login_to_force_login(selenium, live_server):
    User = get_user_model()
    user = User.objects.create_user(username='myuser', password='password')
    force_login(user, selenium, live_server.url)
    selenium.get('{}/a/url/which/requires/login/'.format(live_server.url))

Before setting the session cookie for the Selenium driver, the driver must access a page in the project. By default it will try to access the /page_404/ page. This can be changed by changing the SELENIUM_LOGIN_START_PAGE setting in the settings file for your tests. A blank page is used for the tests in this lib.

Installation

Use pip to install django-selenium-login:

pip install django-selenium-login

For developers

Create venv using:

make venv

Run tests for multiple versions of Python and Django for a specific browser using tox:

tox -- --driver=Chrome

Use environment variable SESSION_ENGINE to change authentication backend.

To run tests for all authentication backends for Chrome and Firefox:

./run_tests.sh

To run tests in docker with selenium server and headless chrome in a continer:

make run-tests-in-docker

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-selenium-login-2.0.0.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_selenium_login-2.0.0-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file django-selenium-login-2.0.0.tar.gz.

File metadata

  • Download URL: django-selenium-login-2.0.0.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for django-selenium-login-2.0.0.tar.gz
Algorithm Hash digest
SHA256 95ac04f34ef3f922a03bd5751460674a6b110b426f1c5a7a60da227194fde247
MD5 42ffb58a58b1dffea3371f2df819eaac
BLAKE2b-256 c6feab8d8ccb531ca694dc607bf99f36dbeaef5eabbd495a5e0017ba0d125762

See more details on using hashes here.

File details

Details for the file django_selenium_login-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: django_selenium_login-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for django_selenium_login-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e3fafc13a46ea24bb0efcedd07e03527408e60ce0e965d5bbeedb7e2fd153f59
MD5 a585ca15bd2e9179da51bb82d33144f1
BLAKE2b-256 d75e25e0137375308ce3ba8374ce31f9daeb1b50524a6bbe7db444b72aab5bc2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page