Skip to content

Commit e5f35c3

Browse files
committed
Update example tests
1 parent 58d32a4 commit e5f35c3

File tree

8 files changed

+110
-22
lines changed

8 files changed

+110
-22
lines changed

examples/boilerplates/samples/sb_swag_test.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,4 @@ def test_swag_labs_login(self, sb):
1515
sb.assert_element("div.inventory_list")
1616
sb.assert_element('div:contains("Sauce Labs Backpack")')
1717
sb.js_click("a#logout_sidebar_link")
18+
sb.assert_element("div#login_button_container")

examples/boilerplates/samples/swag_labs_test.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,4 @@ def test_swag_labs_login(self):
1717
self.assert_element("div.inventory_list")
1818
self.assert_element('div:contains("Sauce Labs Backpack")')
1919
self.js_click("a#logout_sidebar_link")
20+
self.assert_element("div#login_button_container")

examples/boilerplates/samples/test_page_objects.py

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,7 @@ def do_search(self, sb, search_term):
1010
sb.type('input[title="Search"]', search_term + "\n")
1111

1212
def click_search_result(self, sb, content):
13-
sb.click('a[href*="%s"]' % content)
14-
15-
16-
class SeleniumBaseGitHubPage:
17-
def click_seleniumbase_io_link(self, sb):
18-
link = '#readme article a[href*="seleniumbase.io"]'
19-
sb.wait_for_element_visible(link)
20-
sb.js_click(link)
21-
sb.switch_to_newest_window()
13+
sb.click('a:contains("%s")' % content)
2214

2315

2416
class SeleniumBaseIOPage:
@@ -29,12 +21,11 @@ def do_search_and_click(self, sb, search_term):
2921

3022
class MyTests(BaseCase):
3123
def test_page_objects(self):
32-
search_term = "SeleniumBase GitHub"
33-
expected_text = "seleniumbase/SeleniumBase"
24+
search_term = "SeleniumBase.io Docs"
25+
expected_text = "SeleniumBase"
3426
GooglePage().go_to_google(self)
3527
GooglePage().do_search(self, search_term)
3628
self.assert_text(expected_text, "#search")
3729
GooglePage().click_search_result(self, expected_text)
38-
SeleniumBaseGitHubPage().click_seleniumbase_io_link(self)
3930
SeleniumBaseIOPage().do_search_and_click(self, "Dashboard")
4031
self.assert_text("Dashboard", "main h1")

examples/offline_examples/demo_page.html

Lines changed: 72 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,17 @@
247247
background: #4CAF50;
248248
cursor: pointer;
249249
}
250+
#drop1,#drop2 {
251+
width: 131px;
252+
height: 21px;
253+
padding: 1px;
254+
border: 1.5px solid #aaaaaa;
255+
background-color: #d6e6f0;
256+
}
257+
img:active {
258+
box-shadow: 0px 2px 5px 1px rgba(105, 165, 155, 0.3),
259+
1px 2px 12px 0px rgba(105, 165, 155, 0.2) !important;
260+
}
250261
</style>
251262
</head>
252263
<body>
@@ -380,7 +391,8 @@ <h4>iFrame%20Text<%2Fh4></body>"></iframe>
380391
<td style="width: 150px;">
381392
CheckBox:
382393
<input type="checkbox" id="checkBox1"
383-
name="checkBoxName1" class="checkBoxClassA"/>
394+
name="checkBoxName1" class="checkBoxClassA"
395+
onchange="revealRow(event)"/>
384396
</td>
385397
<td style="width: 180px;">
386398
CheckBoxes:
@@ -409,6 +421,20 @@ <h4>iFrame%20Text<%2Fh4></body>"></iframe>
409421
</body>"></iframe>
410422
</td>
411423
</tr>
424+
<tr style="display: none" class="hidden_row">
425+
<td>
426+
Drag and Drop A:
427+
</td>
428+
<td>
429+
<div id="drop1" class="dropzone" ondrop="drop(event)" ondragover="dragOver(event)" ondragenter="dragEnter(event)" ondragleave="dragLeave(event)"><img id="logo" src="data:image/gif;base64,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" draggable="true" ondragstart="dragStart(event)" width="130" height="20"></div>
430+
</td>
431+
<td>
432+
Drag and Drop B:
433+
</td>
434+
<td>
435+
<div id="drop2" class="dropzone" ondrop="drop(event)" ondragover="dragOver(event)" ondragenter="dragEnter(event)" ondragleave="dragLeave(event)"></div>
436+
</td>
437+
</tr>
412438
<tr>
413439
<td>
414440
URL Link:
@@ -550,5 +576,50 @@ <h4>iFrame%20Text<%2Fh4></body>"></iframe>
550576
});
551577
});
552578
</script>
579+
<script>
580+
function revealRow(event) {
581+
// Show the Drag & Drop row if the first checkbox is checked.
582+
if (event.target.checked)
583+
{
584+
document.querySelector('tr.hidden_row').style.display='';
585+
}
586+
else
587+
{
588+
document.querySelector('tr.hidden_row').style.display='none';
589+
}
590+
}
591+
</script>
592+
<script>
593+
function dragOver(event) {
594+
// Allow dropping.
595+
event.preventDefault();
596+
}
597+
function dragEnter(event) {
598+
event.preventDefault();
599+
if ( event.target.className === "dropzone" ) {
600+
event.target.style.background = "#c6b6d6";
601+
}
602+
}
603+
function dragLeave(event) {
604+
event.preventDefault();
605+
if ( event.target.className === "dropzone" ) {
606+
event.target.style.background = "#d6e6f0";
607+
}
608+
}
609+
function dragStart(event) {
610+
event.dataTransfer.setData("id_of_dragged_element", event.target.id);
611+
}
612+
function drop(event) {
613+
event.preventDefault();
614+
var data = event.dataTransfer.getData("id_of_dragged_element");
615+
try {
616+
event.target.appendChild(document.getElementById(data));
617+
event.target.style.background = "#d6e6f0";
618+
}
619+
catch (HierarchyRequestError) {
620+
// Drap & Drop to same location. Do nothing.
621+
}
622+
}
623+
</script>
553624
</body>
554625
</html>

examples/offline_examples/test_demo_page.py

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import os
22
import pytest
3+
from seleniumbase import version_tuple
34
from seleniumbase import BaseCase
45

56

@@ -11,19 +12,26 @@ def test_demo_page(self):
1112
file_path = dir_path + "/demo_page.html"
1213
self.load_html_file(file_path)
1314

15+
# Fail if the seleniumbase version is less than 4.0.0
16+
if version_tuple < (4, 0, 0):
17+
self.fail("This test requires seleniumbase>=4.0.0")
18+
1419
# Assert the title of the current web page
1520
self.assert_title("Web Testing Page")
1621

17-
# Assert that the element is visible on the page
22+
# Assert that an element is visible on the page
1823
self.assert_element("tbody#tbodyId")
1924

20-
# Assert that the text appears within a given element
25+
# Assert that a text substring appears in an element
2126
self.assert_text("Demo Page", "h1")
2227

23-
# Type/update text in text fields on the page
28+
# Type text into various text fields and then verify
2429
self.type("#myTextInput", "This is Automated")
2530
self.type("textarea.area1", "Testing Time!\n")
2631
self.type('[name="preText2"]', "Typing Text!")
32+
self.assert_text("This is Automated", "#myTextInput")
33+
self.assert_text("Testing Time!\n", "textarea.area1")
34+
self.assert_text("Typing Text!", '[name="preText2"]')
2735

2836
# Verify that a hover dropdown link changes page text
2937
self.assert_text("Automation Practice", "h3")
@@ -36,7 +44,7 @@ def test_demo_page(self):
3644

3745
# Verify that a button click changes text on the page
3846
self.assert_text("This Text is Green", "#pText")
39-
self.click("#myButton")
47+
self.click('button:contains("Click Me")')
4048
self.assert_text("This Text is Purple", "#pText")
4149

4250
# Assert that the given SVG is visible on the page
@@ -70,9 +78,11 @@ def test_demo_page(self):
7078
self.assert_true(self.is_selected("#radioButton2"))
7179

7280
# Verify that clicking a checkbox makes it selected
81+
self.assert_element_not_visible("img#logo")
7382
self.assert_false(self.is_selected("#checkBox1"))
7483
self.click("#checkBox1")
7584
self.assert_true(self.is_selected("#checkBox1"))
85+
self.assert_element("img#logo")
7686

7787
# Verify clicking on multiple elements with one call
7888
self.assert_false(self.is_selected("#checkBox2"))
@@ -92,6 +102,11 @@ def test_demo_page(self):
92102
self.assert_true(self.is_selected(".fBox"))
93103
self.switch_to_default_content()
94104

105+
# Verify Drag and Drop
106+
self.assert_element_not_visible("div#drop2 img#logo")
107+
self.drag_and_drop("img#logo", "div#drop2")
108+
self.assert_element("div#drop2 img#logo")
109+
95110
# Assert link text - Use click_link() to click
96111
self.assert_link_text("seleniumbase.com")
97112
self.assert_link_text("SeleniumBase on GitHub")
@@ -101,5 +116,5 @@ def test_demo_page(self):
101116
# Assert exact text
102117
self.assert_exact_text("Demo Page", "h1")
103118

104-
# Highlight a page element (also assert visibility)
119+
# Highlight a page element (Also asserts visibility)
105120
self.highlight("h2")

examples/test_apple_site.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ def test_apple_developer_site_webdriver_instructions(self):
1414
self.get_new_driver(
1515
agent="""Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) """
1616
"""AppleWebKit/537.36 (KHTML, like Gecko) """
17-
"""Chrome/90.0.4430.85 Safari/537.36"""
17+
"""Chrome/102.0.5005.61 Safari/537.36"""
1818
)
1919
self.open("https://developer.apple.com/search/")
2020
title = "Testing with WebDriver in Safari"

examples/test_demo_site.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,31 @@
11
from seleniumbase import BaseCase
2+
from seleniumbase import version_tuple
23

34

45
class DemoSiteTests(BaseCase):
56
def test_demo_site(self):
67
self.open("https://seleniumbase.io/demo_page")
78

9+
# Fail if the seleniumbase version is less than 4.0.0
10+
if version_tuple < (4, 0, 0):
11+
self.fail("This test requires seleniumbase>=4.0.0")
12+
813
# Assert the title of the current web page
914
self.assert_title("Web Testing Page")
1015

11-
# Assert that the element is visible on the page
16+
# Assert that an element is visible on the page
1217
self.assert_element("tbody#tbodyId")
1318

14-
# Assert that the text appears within a given element
19+
# Assert that a text substring appears in an element
1520
self.assert_text("Demo Page", "h1")
1621

17-
# Type/update text in text fields on the page
22+
# Type text into various text fields and then verify
1823
self.type("#myTextInput", "This is Automated")
1924
self.type("textarea.area1", "Testing Time!\n")
2025
self.type('[name="preText2"]', "Typing Text!")
26+
self.assert_text("This is Automated", "#myTextInput")
27+
self.assert_text("Testing Time!\n", "textarea.area1")
28+
self.assert_text("Typing Text!", '[name="preText2"]')
2129

2230
# Verify that a hover dropdown link changes page text
2331
self.assert_text("Automation Practice", "h3")

examples/test_login.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ def test_swag_labs_login(self):
1313
self.assert_element("div.inventory_list")
1414
self.assert_element('.inventory_item:contains("Sauce Labs Backpack")')
1515
self.js_click("a#logout_sidebar_link")
16+
self.assert_element("div#login_button_container")

0 commit comments

Comments
 (0)