diff --git a/README.md b/README.md index 035a2bef..febec5fb 100755 --- a/README.md +++ b/README.md @@ -502,7 +502,7 @@ Using ``--html=report.html`` gives you a fancy report of the name specified afte pytest test_suite.py --html=report.html ``` -Example Pytest Report +Example Pytest Report You can also use ``--junit-xml=report.xml`` to get an xml report instead. Jenkins can use this file to display better reporting for your tests. diff --git a/examples/ReadMe.md b/examples/ReadMe.md index c6e32891..67f28445 100755 --- a/examples/ReadMe.md +++ b/examples/ReadMe.md @@ -1,8 +1,10 @@ -

SeleniumBase

+

Running Example Tests:

-SeleniumBase tests are run with pytest. Chrome is the default browser if not specifed. During test failures, logs and screenshots from the latest run are saved to the ``latest_logs/`` folder. +

SeleniumBase

+ +SeleniumBase tests are run with pytest. Chrome is the default browser if not specifed. During test failures, logs and screenshots from the latest run are saved to the ``latest_logs/`` folder. * Example tests are located in [SeleniumBase/examples](https://github.com/seleniumbase/SeleniumBase/tree/master/examples). @@ -11,90 +13,111 @@ SeleniumBase tests are run with pytest. Chrome is the default browser if **Here are some example run commands to help get you started:** Run an example test in Chrome: (Default: ``--browser=chrome``) + ```bash pytest my_first_test.py ``` Run an example test in Firefox: + ```bash pytest my_first_test.py --browser=firefox ``` Run an example test in Demo Mode: (highlight assertions) + ```bash pytest my_first_test.py --demo ``` +
Run a different example in Demo Mode: + ```bash pytest test_swag_labs.py --demo ``` +
Run an example test in Headless Mode: (invisible browser) + ```bash pytest my_first_test.py --headless ``` Run an example test using Chrome's mobile device emulator: (default settings) + ```bash pytest test_swag_labs.py --mobile ``` +
Run tests with verbose output: (includes more details) + ```bash pytest test_suite.py -v ``` Run a test on the Demo Site to try many SeleniumBase methods: + ```bash pytest test_demo_site.py ``` +
Run tests multi-threaded using [n] threads: + ```bash pytest test_suite.py -v -n=4 ``` Run a parameterized test: (Generates multiple tests from one) + ```bash pytest parameterized_test.py -v ``` Run a test suite and generate a pytest report: (pytest-only) + ```bash pytest test_suite.py -v --html=report.html ``` Run a failing test: (See the ``latest_logs/`` folder for logs and screenshots) + ```bash pytest test_fail.py ``` Run a failing test with Debug-mode enabled: (``pdb`` activates on failures) + ```bash pytest test_fail.py --pdb -s ``` Run an example test suite that demonstrates the use of pytest markers: + ```bash pytest -m marker_test_suite -v ``` Run an example test suite that reuses the browser session between tests: + ```bash pytest test_suite.py --reuse-session -v ``` Run an example test demonstrating the ``rate_limited`` Python decorator: + ```bash pytest rate_limiting_test.py ``` Run an example test that demonstrates how to upload a file to a website: + ```bash pytest upload_file_test.py ``` @@ -104,16 +127,19 @@ pytest upload_file_test.py SeleniumBase tests can also be run with ``nosetests``: Run an example test with nosetests: + ```bash nosetests my_first_test.py ``` Run an example test suite and generate a nosetest report: (nosetests-only) + ```bash nosetests test_suite.py --report --show-report ``` Run an example test using a nosetest configuration file: (nosetests-only) + ```bash nosetests my_first_test.py --config=example_config.cfg ``` @@ -127,6 +153,7 @@ To make things easier, here's a simple GUI program that allows you to run a few ```bash python gui_test_runner.py ``` + -------- diff --git a/help_docs/customizing_test_runs.md b/help_docs/customizing_test_runs.md index 68b63a77..dfadfbcc 100755 --- a/help_docs/customizing_test_runs.md +++ b/help_docs/customizing_test_runs.md @@ -170,26 +170,31 @@ SeleniumBase lets you run tests on remote Selenium Grids such as [BrowserStack]( (For setting browser desired capabilities while running Selenium remotely, see the ReadMe located here: https://github.com/seleniumbase/SeleniumBase/tree/master/examples/capabilities) Here's how to connect to a BrowserStack Selenium Grid server for running tests: + ```bash pytest my_first_test.py --server=USERNAME:KEY@hub.browserstack.com --port=80 ``` Here's how to connect to a Sauce Labs Selenium Grid server for running tests: + ```bash pytest my_first_test.py --server=USERNAME:KEY@ondemand.saucelabs.com --port=80 ``` Here's how to connect to a TestingBot Selenium Grid server for running tests: + ```bash pytest my_first_test.py --server=USERNAME:KEY@hub.testingbot.com --port=80 ``` Here's how to connect to a CrossBrowserTesting Selenium Grid server for running tests: + ```bash pytest my_first_test.py --server=USERNAME:KEY@hub.crossbrowsertesting.com --port=80 ``` Here's how to connect to a LambdaTest Selenium Grid server for running tests: + ```bash pytest my_first_test.py --server=USERNAME:KEY@hub.lambdatest.com --port=80 ``` @@ -229,6 +234,7 @@ To run Pytest multithreaded on multiple CPUs at the same time, add ``-n=NUM`` or ### Retrying failing tests automatically: You can use ``--reruns=NUM`` to retry failing tests that many times. Use ``--reruns-delay=SECONDS`` to wait that many seconds between retries. Example: + ``` pytest --reruns=2 --reruns-delay=1 ``` @@ -258,7 +264,8 @@ Using ``--html=report.html`` gives you a fancy report of the name specified afte ```bash pytest test_suite.py --html=report.html ``` -Example Pytest Report + +Example Pytest Report ### Nosetest Reports: @@ -267,6 +274,7 @@ The ``--report`` option gives you a fancy report after your test suite completes ```bash nosetests test_suite.py --report ``` + Example Nosetest Report (NOTE: You can add ``--show_report`` to immediately display Nosetest reports after the test suite completes. Only use ``--show_report`` when running tests locally because it pauses the test run.) @@ -313,4 +321,5 @@ pytest test_swag_labs.py --mobile --metrics="411,731,3" # Run mobile tests specifying the user agent pytest test_swag_labs.py --mobile --agent="Mozilla/5.0 (Linux; Android 9; Pixel 3 XL)" ``` + [](https://github.com/seleniumbase/SeleniumBase/blob/master/README.md)