Skip to content

Commit d60cba1

Browse files
committed
Update examples
1 parent 77844a6 commit d60cba1

File tree

129 files changed

+100
-84
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

129 files changed

+100
-84
lines changed

Diff for: examples/ReadMe.md

100755100644
File mode changed.

Diff for: examples/__init__.py

100755100644
File mode changed.

Diff for: examples/basic_test.py

100755100644
+1-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
"""Add an item to a shopping cart. Verify. Remove item. Verify."""
22
from seleniumbase import BaseCase
3+
BaseCase.main(__name__, __file__)
34

45

56
class MyTestClass(BaseCase):
@@ -17,9 +18,3 @@ def test_basics(self):
1718
self.assert_text_not_visible("Backpack", "div.cart_item")
1819
self.js_click("a#logout_sidebar_link")
1920
self.assert_element("div#login_button_container")
20-
21-
22-
if __name__ == "__main__": # If "python" called
23-
from pytest import main
24-
from sys import argv
25-
main([*argv, "-s"]) # Run pytest, same args

Diff for: examples/behave_bdd/ReadMe.md

100755100644
File mode changed.

Diff for: examples/behave_bdd/__init__.py

100755100644
File mode changed.

Diff for: examples/behave_bdd/features/__init__.py

100755100644
File mode changed.

Diff for: examples/behave_bdd/features/steps/__init__.py

100755100644
File mode changed.

Diff for: examples/boilerplates/__init__.py

100755100644
File mode changed.

Diff for: examples/boilerplates/base_test_case.py

100755100644
File mode changed.

Diff for: examples/boilerplates/boilerplate_test.py

100755100644
File mode changed.

Diff for: examples/boilerplates/classic_obj_test.py

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
"""Classic Page Object Model with BaseCase inheritance."""
22
from seleniumbase import BaseCase
3+
BaseCase.main(__name__, __file__)
34

45

56
class DataPage:

Diff for: examples/boilerplates/page_objects.py

100755100644
File mode changed.

Diff for: examples/boilerplates/samples/__init__.py

100755100644
File mode changed.

Diff for: examples/boilerplates/samples/file_parsing/__init__.py

100755100644
File mode changed.

Diff for: examples/boilerplates/samples/file_parsing/parse_files.py

100755100644
File mode changed.

Diff for: examples/boilerplates/samples/file_parsing/qa_login_example.txt

100755100644
File mode changed.

Diff for: examples/boilerplates/samples/file_parsing/staging_login_example.txt

100755100644
File mode changed.

Diff for: examples/boilerplates/samples/google_objects.py

100755100644
File mode changed.

Diff for: examples/boilerplates/samples/google_test.py

100755100644
File mode changed.

Diff for: examples/boilerplates/samples/swag_labs_test.py

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
"""Classic Page Object Model with BaseCase inheritance."""
22
from seleniumbase import BaseCase
3+
BaseCase.main(__name__, __file__)
34

45

56
class LoginPage:

Diff for: examples/boilerplates/samples/test_page_objects.py

+2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
"""An example using the Classic Page Object Model."""
22
from seleniumbase import BaseCase
3+
BaseCase.main(__name__, __file__)
34

45

56
class GooglePage:
67
def go_to_google(self, sb):
78
sb.open("https://google.com/ncr")
9+
sb.remove_elements("iframe")
810

911
def do_search(self, sb, search_term):
1012
sb.type('input[title="Search"]', search_term + "\n")

Diff for: examples/chart_maker/ReadMe.md

100755100644
File mode changed.

Diff for: examples/chart_maker/chart_presentation.py

100755100644
+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from seleniumbase import BaseCase
2+
BaseCase.main(__name__, __file__)
23

34

45
class ChartMakerPresentation(BaseCase):

Diff for: examples/chart_maker/my_chart.py

100755100644
+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from seleniumbase import BaseCase
2+
BaseCase.main(__name__, __file__)
23

34

45
class MyChartMakerClass(BaseCase):

Diff for: examples/chart_maker/pie_charts.py

100755100644
+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from seleniumbase import BaseCase
2+
BaseCase.main(__name__, __file__)
23

34

45
class PieCharts(BaseCase):

Diff for: examples/chart_maker/test_area_chart.py

100755100644
+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from seleniumbase import BaseCase
2+
BaseCase.main(__name__, __file__)
23

34

45
class MyChartMakerClass(BaseCase):

Diff for: examples/chart_maker/test_display_chart.py

100755100644
+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from seleniumbase import BaseCase
2+
BaseCase.main(__name__, __file__)
23

34

45
class MyChartMakerClass(BaseCase):

Diff for: examples/chart_maker/test_line_chart.py

100755100644
+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from seleniumbase import BaseCase
2+
BaseCase.main(__name__, __file__)
23

34

45
class MyChartMakerClass(BaseCase):

Diff for: examples/chart_maker/test_multi_series.py

100755100644
+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from seleniumbase import BaseCase
2+
BaseCase.main(__name__, __file__)
23

34

45
class MyChartMakerClass(BaseCase):

Diff for: examples/chart_maker/test_save_chart.py

100755100644
+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from seleniumbase import BaseCase
2+
BaseCase.main(__name__, __file__)
23

34

45
class MyChartMakerClass(BaseCase):

Diff for: examples/coffee_cart_tests.py

+1
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ def test_context_click_add_coffee(self):
6363

6464
def test_remove_added_coffee(self):
6565
self.open("https://seleniumbase.io/coffee/")
66+
self.assert_title("Coffee Cart")
6667
self.assert_exact_text("cart (0)", 'a[aria-label="Cart page"]')
6768
self.assert_exact_text("Total: $0.00", "button.pay")
6869
self.wait_for_element('div[class="cup-body"]')

Diff for: examples/custom_settings.py

100755100644
File mode changed.

Diff for: examples/edge_test.py

100755100644
File mode changed.

Diff for: examples/example_config.cfg

100755100644
File mode changed.

Diff for: examples/example_logs/ReadMe.md

100755100644
File mode changed.

Diff for: examples/github_test.py

100755100644
File mode changed.

Diff for: examples/gui_test_runner.py

100755100644
File mode changed.

Diff for: examples/hack_the_planet.py

100755100644
File mode changed.

Diff for: examples/handle_alert_test.py

100755100644
File mode changed.

Diff for: examples/list_assert_test.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
""" * Asserting that multiple elements are present or visible:
22
HTML Presence: assert_elements_present()
3-
HTML Visibility: assert_elements() <> assert_elements_visible()
4-
"""
3+
HTML Visibility: assert_elements() <> assert_elements_visible()"""
54
from seleniumbase import BaseCase
5+
BaseCase.main(__name__, __file__)
66

77

88
class MyTestClass(BaseCase):

Diff for: examples/locale_code_test.py

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from seleniumbase import BaseCase
2+
BaseCase.main(__name__, __file__)
23

34

45
class LocaleCodeTests(BaseCase):

Diff for: examples/master_qa/ReadMe.md

100755100644
File mode changed.

Diff for: examples/master_qa/__init__.py

100755100644
File mode changed.

Diff for: examples/master_qa/basic_masterqa_test_0.py

100755100644
+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from seleniumbase import MasterQA
2+
MasterQA.main(__name__, __file__)
23

34

45
class MasterQATests(MasterQA):

Diff for: examples/master_qa/masterqa_test_1.py

100755100644
+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from seleniumbase import MasterQA
2+
MasterQA.main(__name__, __file__)
23

34

45
class MasterQATests(MasterQA):

Diff for: examples/migration/protractor/__init__.py

100755100644
File mode changed.

Diff for: examples/migration/raw_selenium/__init__.py

100755100644
File mode changed.

Diff for: examples/migration/raw_selenium/simple_sbase.py

+1-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
"""Clean SeleniumBase Example - (Uses simple, reliable methods)"""
22
from seleniumbase import BaseCase
3+
BaseCase.main(__name__, __file__)
34

45

56
class CleanSeleniumBase(BaseCase):
@@ -18,9 +19,3 @@ def test_add_item_to_cart(self):
1819
self.click("#react-burger-menu-btn")
1920
self.click("a#logout_sidebar_link")
2021
self.assert_element("input#login-button")
21-
22-
23-
# When run with "python" instead of "pytest"
24-
if __name__ == "__main__":
25-
from pytest import main
26-
main([__file__, "-s"])

Diff for: examples/my_first_test.py

100755100644
+6-9
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
"""A complete end-to-end test for an e-commerce website."""
22
from seleniumbase import BaseCase
3-
4-
if __name__ == "__main__": # If "python" called
5-
from pytest import main
6-
from sys import argv
7-
main([*argv, "-s"]) # Run pytest, same args
3+
BaseCase.main(__name__, __file__)
84

95

106
class MyTestClass(BaseCase):
@@ -13,10 +9,10 @@ def test_swag_labs(self):
139
self.type("#user-name", "standard_user")
1410
self.type("#password", "secret_sauce\n")
1511
self.assert_element("div.inventory_list")
16-
self.assert_text("PRODUCTS", "span.title")
12+
self.assert_exact_text("PRODUCTS", "span.title")
1713
self.click('button[name*="backpack"]')
1814
self.click("#shopping_cart_container a")
19-
self.assert_text("YOUR CART", "span.title")
15+
self.assert_exact_text("YOUR CART", "span.title")
2016
self.assert_text("Backpack", "div.cart_item")
2117
self.click("button#checkout")
2218
self.type("#first-name", "SeleniumBase")
@@ -74,7 +70,7 @@ def test_swag_labs(self):
7470
# * Type in the new text
7571
# * Press Enter/Return if the text ends in "\n": {element.submit()}
7672
#
77-
# 4. Duplicate method names may exist for the same method:
73+
# 4. There are duplicate method names that exist for the same method:
7874
# (This makes it easier to switch over from other test frameworks.)
7975
# Example:
8076
# self.open() = self.visit() = self.open_url() = self.goto()
@@ -144,4 +140,5 @@ def test_swag_labs(self):
144140
# * SeleniumBase/seleniumbase/fixtures/base_case.py
145141
# * SeleniumBase/help_docs/method_summary.md
146142
#
147-
# 10. pytest.main([__file__]) lets you run with "python" (vs. "pytest")
143+
# 10. BaseCase.main(__name__, __file__) enables "python" to run pytest,
144+
# which is useful if someone forgets that tests run with "pytest".

Diff for: examples/nth_child_test.py

100755100644
File mode changed.

Diff for: examples/parameterized_test.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class GoogleTests(BaseCase):
1313
)
1414
def test_parameterized_google_search(self, search_key, expected_text, img):
1515
self.open("https://google.com/ncr")
16-
self.hide_elements("iframe")
16+
self.remove_elements("iframe")
1717
self.type('input[title="Search"]', search_key + "\n")
1818
self.assert_text(expected_text, "#search")
1919
self.click('a:contains("%s")' % expected_text)

Diff for: examples/performance_test.py

100755100644
+3-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
"""
2-
Performance test example.
1+
"""Performance test example.
32
43
Uses decorators.print_runtime(), which prints the runtime duration
54
of a method or "with"-block after the method (or block) completes.
@@ -22,10 +21,10 @@ def my_method():
2221
2322
with decorators.print_runtime("My Code Block"):
2423
# code ...
25-
# code ...
26-
"""
24+
# code ... """
2725
from seleniumbase import BaseCase
2826
from seleniumbase import decorators
27+
BaseCase.main(__name__, __file__)
2928

3029

3130
class PerformanceClass(BaseCase):

Diff for: examples/presenter/ReadMe.md

100755100644
File mode changed.

Diff for: examples/presenter/core_presentation.py

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from seleniumbase import BaseCase
2+
BaseCase.main(__name__, __file__)
23

34

45
class PresentationWithChart(BaseCase):

Diff for: examples/presenter/my_presentation.py

100755100644
+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from seleniumbase import BaseCase
2+
BaseCase.main(__name__, __file__)
23

34

45
class MyPresenterClass(BaseCase):

Diff for: examples/presenter/py_virtual_envs.py

100755100644
+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from seleniumbase import BaseCase
2+
BaseCase.main(__name__, __file__)
23

34

45
class PythonVirtualEnvs(BaseCase):

Diff for: examples/proxy_test.py

100755100644
File mode changed.

Diff for: examples/rate_limiting_test.py

100755100644
File mode changed.

Diff for: examples/raw_call.py

100755100644
File mode changed.

Diff for: examples/raw_file_call.py

100755100644
File mode changed.

Diff for: examples/raw_main_call.py

100755100644
File mode changed.

Diff for: examples/raw_parameter_script.py

100755100644
File mode changed.

Diff for: examples/setup.cfg

100755100644
File mode changed.

Diff for: examples/shadow_root_test.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
""" Piercing through shadow-root elements with the "::shadow" selector.
2-
To confirm that "::shadow" works, print text and assert exact text. """
3-
1+
"""Piercing through shadow-root elements with the "::shadow" selector.
2+
To confirm that "::shadow" works, print text and assert exact text."""
43
from seleniumbase import BaseCase
4+
BaseCase.main(__name__, __file__)
55

66

77
class ShadowRootTest(BaseCase):

Diff for: examples/swag_labs_user_tests.py

100755100644
File mode changed.

Diff for: examples/test_apple_site.py

100755100644
File mode changed.

Diff for: examples/test_canvas.py

+2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ def get_pixel_colors(self):
2222

2323
def test_canvas_click_from_center(self):
2424
self.open("https://seleniumbase.io/other/canvas")
25+
self.assert_title_contains("Canvas")
2526
self.click_with_offset("canvas", 0, 0, mark=True, center=True)
2627
self.sleep(0.55) # Not needed (Lets you see the alert pop up)
2728
alert = self.switch_to_alert()
@@ -31,6 +32,7 @@ def test_canvas_click_from_center(self):
3132

3233
def test_click_with_offset(self):
3334
self.open("https://seleniumbase.io/canvas/")
35+
self.assert_title_contains("Canvas")
3436
self.highlight("canvas")
3537
rgb = self.get_pixel_colors()
3638
self.assert_equal(rgb, [221, 242, 231]) # Looks greenish

Diff for: examples/test_checkboxes.py

100755100644
+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from seleniumbase import BaseCase
2+
BaseCase.main(__name__, __file__)
23

34

45
class CheckboxTests(BaseCase):

Diff for: examples/test_chinese_pdf.py

100755100644
File mode changed.

Diff for: examples/test_chromedriver.py

100755100644
+3-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
"""
2-
This test is only for Chrome!
3-
(Verify that your chromedriver is compatible with your version of Chrome.)
4-
"""
1+
"""This test is only for Chrome!
2+
(Verify that your chromedriver is compatible with your version of Chrome.)"""
53
import colorama
64
from seleniumbase import BaseCase
5+
BaseCase.main(__name__, __file__)
76

87

98
class ChromedriverTests(BaseCase):

Diff for: examples/test_coffee_cart.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
"""Use SeleniumBase to test the Coffee Cart App."""
22
from seleniumbase import BaseCase
3-
4-
if __name__ == "__main__": # If "python" called
5-
from pytest import main
6-
from sys import argv
7-
main([*argv, "-s"]) # Run pytest, same args
3+
BaseCase.main(__name__, __file__)
84

95

106
class CoffeeCartTest(BaseCase):

Diff for: examples/test_decryption.py

100755100644
File mode changed.

Diff for: examples/test_deferred_asserts.py

100755100644
File mode changed.

Diff for: examples/test_demo_site.py

100755100644
File mode changed.

Diff for: examples/test_detect_404s.py

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from seleniumbase import BaseCase
2+
BaseCase.main(__name__, __file__)
23

34

45
class BrokenLinkTests(BaseCase):

Diff for: examples/test_double_click.py

100755100644
File mode changed.

Diff for: examples/test_drag_and_drop.py

100755100644
File mode changed.

Diff for: examples/test_error_page.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
""" Test an error page with the "highlight() command, which uses a
2-
JavaScript animation to point out page objects that are found.
3-
If an element isn't visible, the test fails with an exception.
4-
"""
1+
"""Test an error page with the "highlight() command, which uses a
2+
JavaScript animation to point out page objects that are found.
3+
If an element isn't visible, the test fails with an exception."""
54
from seleniumbase import BaseCase
5+
BaseCase.main(__name__, __file__)
66

77

88
class ErrorPageTests(BaseCase):

Diff for: examples/test_event_firing.py

100755100644
File mode changed.

Diff for: examples/test_fail.py

100755100644
+2-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
the logging capabilities of SeleniumBase.
33
>>> pytest test_fail.py --html=report.html
44
This creates ``report.html`` with details.
5-
(Also find log files in ``latest_logs/``) """
6-
5+
(Also find log files in ``latest_logs/``)"""
76
import pytest
87
from seleniumbase import BaseCase
8+
BaseCase.main(__name__, __file__)
99

1010

1111
class FailingTests(BaseCase):

Diff for: examples/test_get_locale_code.py

100755100644
File mode changed.

Diff for: examples/test_get_pdf_text.py

100755100644
File mode changed.

Diff for: examples/test_get_user_agent.py

100755100644
+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from seleniumbase import BaseCase
2+
BaseCase.main(__name__, __file__)
23

34

45
class UserAgentTests(BaseCase):

Diff for: examples/test_hack_search.py

100755100644
File mode changed.

Diff for: examples/test_image_saving.py

100755100644
+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import os
1616
# import pytest # For ordering tests globally with @pytest.mark.run()
1717
from seleniumbase import BaseCase
18+
BaseCase.main(__name__, __file__)
1819

1920

2021
class ImageTests(BaseCase):

Diff for: examples/test_inspect_html.py

100755100644
+3-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
"""
2-
Uses the SeleniumBase implementation of HTML-Inspector to inspect the HTML.
1+
"""Uses the SeleniumBase implementation of HTML-Inspector to inspect the HTML.
32
See https://github.com/philipwalton/html-inspector for more details.
4-
(Only works on Chrome and Chromium-based browsers.)
5-
"""
6-
3+
(Only works on Chrome and Chromium-based browsers.)"""
74
from seleniumbase import BaseCase
5+
BaseCase.main(__name__, __file__)
86

97

108
class HtmlInspectorTests(BaseCase):

Diff for: examples/test_login.py

100755100644
+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
"""A SeleniumBase test for verifying Login functionality on Swag Labs."""
22
from seleniumbase import BaseCase
3+
BaseCase.main(__name__, __file__)
34

45

56
class SwagLabsLoginTests(BaseCase):

Diff for: examples/test_markers.py

100755100644
+2-3
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,10 @@
88
pytest test_markers.py -v -m "not marker2" # Runs A, D
99
1010
(The "-v" will display the names of tests as they run.)
11-
(Add "--collect-only" to display names of tests without running them.)
12-
"""
13-
11+
(Add "--collect-only" to display names of tests without running them.)"""
1412
import pytest
1513
from seleniumbase import BaseCase
14+
BaseCase.main(__name__, __file__)
1615

1716

1817
@pytest.mark.marker_test_suite

Diff for: examples/test_mfa_login.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
from seleniumbase import BaseCase
2-
3-
if __name__ == "__main__": # If "python" called
4-
from pytest import main
5-
from sys import argv
6-
main([*argv, "-s"]) # Run pytest, same args
2+
BaseCase.main(__name__, __file__)
73

84

95
class TestMFALogin(BaseCase):

Diff for: examples/test_multiple_drivers.py

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from seleniumbase import BaseCase
2+
BaseCase.main(__name__, __file__)
23

34

45
class MultipleDriversTest(BaseCase):

Diff for: examples/test_null.py

100755100644
+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from seleniumbase import BaseCase
2+
BaseCase.main(__name__, __file__)
23

34

45
class NullTests(BaseCase):

Diff for: examples/test_override_driver.py

100755100644
File mode changed.

Diff for: examples/test_override_sb_fixture.py

100755100644
File mode changed.

0 commit comments

Comments
 (0)