fix and add som usecases

This commit is contained in:
2025-09-15 17:41:07 +08:00
parent 838806b9e3
commit 414737fd48
37 changed files with 1133 additions and 51 deletions

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,102 @@
import pytest
from page_objects.form_elements_page import FormElementsPage
@pytest.mark.regression
class TestFormElements:
"""
Test suite for the Form Elements page.
"""
def test_text_input(self, driver, base_url):
"""
Tests text entry and retrieval from the text input field.
"""
form_page = FormElementsPage(driver)
form_page.open(base_url)
test_text = "Hello, Selenium!"
form_page.enter_text_in_input(test_text)
retrieved_text = form_page.get_text_from_input()
assert retrieved_text == test_text, f"Expected '{test_text}', but got '{retrieved_text}'"
@pytest.mark.smoke
def test_checkbox_selection(self, driver, base_url):
"""
Tests the selection and deselection of a checkbox.
"""
form_page = FormElementsPage(driver)
form_page.open(base_url)
assert not form_page.is_checkbox_selected(), "Checkbox should be deselected initially"
form_page.select_checkbox()
assert form_page.is_checkbox_selected(), "Checkbox should be selected after clicking"
form_page.select_checkbox()
assert not form_page.is_checkbox_selected(), "Checkbox should be deselected after clicking again"
def test_radio_button_selection(self, driver, base_url):
"""
Tests that only one radio button can be selected at a time.
"""
form_page = FormElementsPage(driver)
form_page.open(base_url)
form_page.choose_radio_option(2)
assert form_page.is_radio_option_selected(2), "Radio option 2 should be selected"
assert not form_page.is_radio_option_selected(1), "Radio option 1 should not be selected"
form_page.choose_radio_option(3)
assert form_page.is_radio_option_selected(3), "Radio option 3 should be selected"
assert not form_page.is_radio_option_selected(2), "Radio option 2 should not be selected"
def test_dropdown_selection(self, driver, base_url):
"""
Tests selecting an option from the custom dropdown.
"""
form_page = FormElementsPage(driver)
form_page.open(base_url)
fruit_to_select = "Banana"
form_page.select_fruit_by_visible_text(fruit_to_select)
selected_fruit = form_page.get_selected_fruit()
assert selected_fruit == fruit_to_select, \
f"Expected '{fruit_to_select}' to be selected, but got '{selected_fruit}'"
def test_disabled_button_state(self, driver, base_url):
"""
Verifies that the 'Disabled' button is indeed disabled.
"""
form_page = FormElementsPage(driver)
form_page.open(base_url)
assert not form_page.is_disabled_button_enabled(), "The disabled button should not be enabled"
@pytest.mark.smoke
def test_form_submission(self, driver, base_url):
"""
A simple test to fill a field and click the submit button.
"""
form_page = FormElementsPage(driver)
form_page.open(base_url)
form_page.enter_text_in_input("Test submission")
form_page.click_submit_button()
alert = form_page.switch_to_alert()
alert_text = alert.text
alert.accept()
assert alert_text == "Form Submitted!", "Alert text after submission is incorrect"
# def test_filure_case(self,driver, base_url):
# """
# """
# form_page = FormElementsPage(driver)
# form_page.open(base_url)
# print("case1")
# assert "" == "a", "error"