Fixed #19854 -- Turn Django's own Selenium tests off by default.

This commit is contained in:
Carl Meyer 2013-02-25 10:14:42 -07:00
parent 6d52bcbb7c
commit 906dc8522a
4 changed files with 11 additions and 21 deletions

View File

@ -10,8 +10,8 @@ class AdminSeleniumWebDriverTestCase(LiveServerTestCase):
@classmethod
def setUpClass(cls):
if os.environ.get('DJANGO_SKIP_SELENIUM_TESTS', False):
raise SkipTest('Selenium tests skipped by explicit request')
if not os.environ.get('DJANGO_SELENIUM_TESTS', False):
raise SkipTest('Selenium tests not requested')
try:
cls.selenium = import_by_path(cls.webdriver_class)()
except Exception as e:

View File

@ -128,21 +128,12 @@ Running the Selenium tests
Some admin tests require Selenium 2, Firefox and Python >= 2.6 to work via a
real Web browser. To allow those tests to run and not be skipped, you must
install the selenium_ package (version > 2.13) into your Python path.
Then, run the tests normally, for example:
install the selenium_ package (version > 2.13) into your Python path and run
the tests with the ``--selenium`` option:
.. code-block:: bash
./runtests.py --settings=test_sqlite admin_inlines
If you have Selenium installed but for some reason don't want to run these tests
(for example to speed up the test suite), use the ``--skip-selenium`` option
of the test runner.
.. code-block:: bash
./runtests.py --settings=test_sqlite --skip-selenium admin_inlines
./runtests.py --settings=test_sqlite --selenium admin_inlines
.. _running-unit-tests-dependencies:

View File

@ -177,10 +177,10 @@ class JsI18NTestsMultiPackage(TestCase):
javascript_quote('este texto de app3 debe ser traducido'))
skip_selenium = os.environ.get('DJANGO_SKIP_SELENIUM_TESTS', False)
skip_selenium = not os.environ.get('DJANGO_SELENIUM_TESTS', False)
@unittest.skipIf(skip_selenium, 'Selenium tests skipped by explicit request')
@unittest.skipIf(skip_selenium, 'Selenium tests not requested')
@unittest.skipUnless(firefox, 'Selenium not installed')
class JavascriptI18nTests(LiveServerTestCase):
urls = 'regressiontests.views.urls'

View File

@ -302,10 +302,9 @@ if __name__ == "__main__":
'LiveServerTestCase) is expected to run from. The default value '
'is localhost:8081.')
parser.add_option(
'--skip-selenium', action='store_true', dest='skip_selenium',
'--selenium', action='store_true', dest='selenium',
default=False,
help='Skip running Selenium tests even it Selenium itself is '
'installed. By default these tests are not skipped.')
help='Run the Selenium tests as well (if Selenium is installed)')
options, args = parser.parse_args()
if options.settings:
os.environ['DJANGO_SETTINGS_MODULE'] = options.settings
@ -318,8 +317,8 @@ if __name__ == "__main__":
if options.liveserver is not None:
os.environ['DJANGO_LIVE_TEST_SERVER_ADDRESS'] = options.liveserver
if options.skip_selenium:
os.environ['DJANGO_SKIP_SELENIUM_TESTS'] = '1'
if options.selenium:
os.environ['DJANGO_SELENIUM_TESTS'] = '1'
if options.bisect:
bisect_tests(options.bisect, options, args)