django-select2/tests/conftest.py
2015-03-29 22:32:19 +02:00

50 lines
1.1 KiB
Python

# -*- coding:utf-8 -*-
from __future__ import absolute_import, print_function, unicode_literals
import os
import pytest
from django import conf
from selenium import webdriver
from selenium.common.exceptions import WebDriverException
def pytest_configure():
os.environ[conf.ENVIRONMENT_VARIABLE] = "tests.testapp.settings"
try:
import django
django.setup()
except AttributeError:
pass
from django.test.utils import setup_test_environment
setup_test_environment()
from django.db import connection
connection.creation.create_test_db()
browsers = {
'firefox': webdriver.Firefox,
'chrome': webdriver.Chrome,
}
@pytest.fixture(scope='session',
params=browsers.keys())
def driver(request):
if 'DISPLAY' not in os.environ:
pytest.skip('Test requires display server (export DISPLAY)')
try:
b = browsers[request.param]()
except WebDriverException as e:
pytest.skip(e)
else:
b.set_window_size(1200, 800)
request.addfinalizer(lambda *args: b.quit())
return b