Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 05011f8

Browse files
committed
Add marks and config
1 parent 281ac79 commit 05011f8

File tree

3 files changed

+41
-11
lines changed

3 files changed

+41
-11
lines changed

pyproject.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
[tool.pytest.ini_options]
2+
markers = [
3+
"asyncio: Asynchronous tests",
4+
"elements: Elements page tests",
5+
"text_box: Text Box component tests",
6+
"buttons: Buttons component tests",
7+
]
8+
9+
[tool.black]
10+
line-length = 79

tests/demoqa/test_async.py

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88

99
@pytest.mark.asyncio
10+
@pytest.mark.elements
1011
class TestBase:
1112
async def test_visit_elements_page(self) -> None:
1213
"""Test that the Elements page can be navigated to.
@@ -44,6 +45,8 @@ async def test_collapse_elements_container(self) -> None:
4445

4546

4647
@pytest.mark.asyncio
48+
@pytest.mark.elements
49+
@pytest.mark.text_box
4750
class TestTextBox:
4851
user: dict = {
4952
"name": "Test Tester",
@@ -61,16 +64,20 @@ async def test_submit_valid_data(self):
6164
browser = await playwright.chromium.launch()
6265
page = await browser.new_page()
6366
await page.goto(f"{base_url}/text-box")
64-
user_form: ElementHandle = await page.wait_for_selector("#userForm")
67+
user_form: ElementHandle = await page.wait_for_selector(
68+
"#userForm"
69+
)
6570
username_field: ElementHandle = await user_form.wait_for_selector(
6671
"#userName"
6772
)
68-
email_field: ElementHandle = await user_form.wait_for_selector("#userEmail")
69-
current_address_field: ElementHandle = await user_form.wait_for_selector(
70-
"#currentAddress"
73+
email_field: ElementHandle = await user_form.wait_for_selector(
74+
"#userEmail"
75+
)
76+
current_address_field: ElementHandle = (
77+
await user_form.wait_for_selector("#currentAddress")
7178
)
72-
permanent_address_field: ElementHandle = await user_form.wait_for_selector(
73-
"#permanentAddress"
79+
permanent_address_field: ElementHandle = (
80+
await user_form.wait_for_selector("#permanentAddress")
7481
)
7582

7683
await username_field.fill(self.user["name"])
@@ -80,7 +87,9 @@ async def test_submit_valid_data(self):
8087

8188
await page.click("#submit")
8289

83-
output_field: ElementHandle = await page.wait_for_selector("#output")
90+
output_field: ElementHandle = await page.wait_for_selector(
91+
"#output"
92+
)
8493
for key, value in self.user.items():
8594
ele_value: str = await output_field.eval_on_selector(
8695
f"#{key}", "el => el.innerText"
@@ -96,8 +105,12 @@ async def test_error_when_invalid_email(self):
96105
browser = await playwright.chromium.launch()
97106
page = await browser.new_page()
98107
await page.goto(f"{base_url}/text-box")
99-
user_form: ElementHandle = await page.wait_for_selector("#userForm")
100-
email_field: ElementHandle = await user_form.wait_for_selector("#userEmail")
108+
user_form: ElementHandle = await page.wait_for_selector(
109+
"#userForm"
110+
)
111+
email_field: ElementHandle = await user_form.wait_for_selector(
112+
"#userEmail"
113+
)
101114

102115
await email_field.fill("test")
103116

@@ -110,6 +123,8 @@ async def test_error_when_invalid_email(self):
110123

111124

112125
@pytest.mark.asyncio
126+
@pytest.mark.elements
127+
@pytest.mark.buttons
113128
class TestButtons:
114129
@pytest.mark.parametrize(
115130
"button_type",

tests/demoqa/test_elements.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
base_url: str = "https://www.demoqa.com"
99

1010

11+
@pytest.mark.elements
1112
class TestBase:
1213
def test_visit_elements_page(self, page: Page):
1314
"""Test that the Elements page can be navigated to.
@@ -36,6 +37,8 @@ def test_collapse_elements_container(self, page: Page):
3637
assert "show" not in element_list_class
3738

3839

40+
@pytest.mark.elements
41+
@pytest.mark.text_box
3942
class TestTextBox:
4043
user: dict = {
4144
"name": "Test Tester",
@@ -50,7 +53,7 @@ def test_submit_valid_data(self, page: Page):
5053
:param page: A Playwright browser page.
5154
"""
5255
text_box_page = TextBoxPage(page)
53-
56+
5457
text_box_page.navigate()
5558
text_box_page.fill_form(self.user)
5659

@@ -69,7 +72,7 @@ def test_error_when_invalid_email(self, page: Page):
6972
:param page: A Playwright browser page.
7073
"""
7174
text_box_page = TextBoxPage(page)
72-
75+
7376
text_box_page.navigate()
7477
text_box_page.email_field.fill("test")
7578

@@ -81,6 +84,8 @@ def test_error_when_invalid_email(self, page: Page):
8184
assert "field-error" in email_class
8285

8386

87+
@pytest.mark.elements
88+
@pytest.mark.buttons
8489
class TestButtons:
8590
@pytest.mark.parametrize(
8691
"button_type",

0 commit comments

Comments
 (0)