![]() |
||
---|---|---|
.. | ||
example_logs | ||
ReadMe.md | ||
__init__.py | ||
basic_masterqa_test.py | ||
example_config.cfg | ||
gui_test_runner.py | ||
masterqa_test.py | ||
my_first_test.py | ||
my_test_suite.py | ||
non_terminating_checks_test.py | ||
rate_limiting_test.py | ||
run_my_first_test_in_chrome.sh | ||
run_my_first_test_in_firefox.sh | ||
run_rate_limiting_test.sh | ||
run_test_fail_with_logging.sh | ||
setup.cfg | ||
test_fail.py |
ReadMe.md
Running SeleniumBase Scripts
(NOTE: If you didn't install SeleniumBase properly, these scripts won't work. Installation steps include "pip install seleniumbase
" and/or "python setup.py install
" from the top-level directory.)
To makes things easier, here's a simple GUI program that allows you to kick off a few example scripts by pressing a button:
python gui_test_runner.py
(NOTE: With the exception of my_first_test.py, which should pass, many other tests in this folder fail on purpose to demonstrate features such as screenshots on failure, exception logging, and test reports.)
If you run scripts with logging enabled, (using --with-testing_base
), you’ll see two folders appear: “latest_logs” and “archived_logs”. The “latest_logs” folder will contain log files from the most recent test run, but logs will only be created if the test run is failing. Afterwards, logs from the “latest_logs” folder will get pushed to the “archived_logs” folder if you have have the ARCHIVE_EXISTING_LOGS
feature enabled in settings.py. Make sure to run python setup.py install
for your changes to take effect if you make any changes to that file.
For running scripts the usual way, here are some of the example run commands:
(Note: You can replace nosetests
with py.test
for most of these.)
Run the example test in Firefox:
nosetests my_first_test.py --with-selenium --browser=firefox
Run the example test in Chrome:
nosetests my_first_test.py --with-selenium --browser=chrome
Run the example test in PhantomJS:
nosetests my_first_test.py --with-selenium --browser=phantomjs
Run the example test suite in Firefox and generate an html report: (nosetests-only)
nosetests my_test_suite.py --with-selenium --browser=firefox --with-testing_base --report
Run the example test suite in Chrome and generate an html report: (nosetests-only)
nosetests my_test_suite.py --with-selenium --browser=chrome --with-testing_base --report
Run the example test suite in PhantomJS and generate an html report: (nosetests-only)
nosetests my_test_suite.py --with-selenium --browser=phantomjs --with-testing_base --report
Run a test with all the configuration specifed by a config file:
nosetests my_first_test.py --config=example_config.cfg
Example test with the use of python decorators:
nosetests rate_limiting_test.py
Run the example test slowly:
nosetests my_first_test.py --browser=firefox --with-selenium --demo_mode
Run a failing test with pdb mode enabled: (If a test failure occurs, test enters pdb mode)
nosetests test_fail.py --browser=firefox --with-selenium --pdb --pdb-failures
Run a failing test with logging:
nosetests test_fail.py --browser=firefox --with-selenium --with-testing_base --with-basic_test_info --with-page_source --with-screen_shots
(NOTE: If you see any *.pyc
files appear as you run tests, that's perfectly normal. Compiled bytecode is a natural result of running Python code.)