23e7dd774a | ||
---|---|---|
.. | ||
boilerplates | ||
capabilities | ||
example_logs | ||
master_qa | ||
tour_examples | ||
visual_testing | ||
ReadMe.md | ||
__init__.py | ||
basic_test.py | ||
custom_settings.py | ||
decryption_test.py | ||
edge_test.py | ||
example_config.cfg | ||
github_test.py | ||
gui_test_runner.py | ||
handle_alert_test.py | ||
image_test.py | ||
ip_cow_test.py | ||
my_first_test.py | ||
parameterized_test.py | ||
proxy_test.py | ||
rate_limiting_test.py | ||
raw_parameter_script.py | ||
setup.cfg | ||
swag_labs_suite.py | ||
test_chinese_pdf.py | ||
test_delayed_asserts.py | ||
test_double_click.py | ||
test_event_firing.py | ||
test_fail.py | ||
test_get_pdf_text.py | ||
test_hack_search.py | ||
test_inspect_html.py | ||
test_markers.py | ||
test_null.py | ||
test_pdf_asserts.py | ||
test_pytest_parametrize.py | ||
test_sb_fixture.py | ||
test_skype_site.py | ||
test_suite.py | ||
test_swag_labs.py | ||
test_usefixtures.py | ||
timeout_test.py | ||
upload_file_test.py | ||
user_agent_test.py | ||
xpath_test.py |
ReadMe.md
Running Example Tests
SeleniumBase tests can be run with either pytest
or nosetests
, but using pytest is strongly recommended. Chrome is the default browser if not specified.
During test failures, logs and screenshots from the most recent test run will get saved to the latest_logs/
folder. Those logs will get moved to archived_logs/
if you have ARCHIVE_EXISTING_LOGS set to True in settings.py
(NOTE: Many tests in this folder fail on purpose to demonstrate the built-in logging, screenshots, and reporting features.)
Here are some example run commands to help get you started:
Run an example test in Chrome: (Default: --browser=chrome
)
pytest my_first_test.py
Run an example test in Firefox:
pytest my_first_test.py --browser=firefox
Run an example test in Demo Mode: (highlight assertions)
pytest my_first_test.py --demo
Run an example test in Headless Mode: (invisible browser)
pytest my_first_test.py --headless
Run tests with verbose output: (includes more details)
pytest test_suite.py -v
Run tests multi-threaded using [n] threads:
pytest test_suite.py -v -n=4
Run a parameterized test: (Generates multiple tests from one)
pytest parameterized_test.py -v
Run a test suite and generate a pytest report: (pytest-only)
pytest test_suite.py -v --html=report.html
Run a failing test: (See the latest_logs/
folder for logs and screenshots)
pytest test_fail.py
Run an example test using Chrome's mobile device emulator: (default settings)
pytest test_swag_labs.py --mobile
Run a failing test with Debug-mode enabled: (pdb
activates on failures)
pytest test_fail.py --pdb -s
Run an example test suite that demonstrates the use of pytest markers:
pytest -m marker_test_suite -v
Run an example test suite that reuses the browser session between tests:
pytest test_suite.py --reuse-session -v
Run an example test demonstrating the rate_limited
Python decorator:
pytest rate_limiting_test.py
Run an example test that demonstrates how to upload a file to a website:
pytest upload_file_test.py
Run an example test suite and generate a nosetest report: (nosetests-only)
nosetests test_suite.py --report --show-report
Run an example test using a nosetest configuration file: (nosetests-only)
nosetests my_first_test.py --config=example_config.cfg
For more advanced run commands, such as using a proxy server, see ../help_docs/customizing_test_runs.md
To make things easier, here's a simple GUI program that allows you to run a few example tests by pressing a button:
python gui_test_runner.py