fix and add som usecases
This commit is contained in:
1
tests/test_form_elements/__init__.py
Normal file
1
tests/test_form_elements/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
102
tests/test_form_elements/test_form_elements.py
Normal file
102
tests/test_form_elements/test_form_elements.py
Normal 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"
|
||||
Reference in New Issue
Block a user