首页 > 解决方案 > Selenium Python单击“关闭”按钮后如何检查表单创建是否已关闭

问题描述

我正在为Create device. 我正在尝试assert通过一些事情来了解我的表单在单击Close按钮后关闭。

我有这样的表格 创建设备表格

这是我的代码

class createDevice(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        cls.driver = webdriver.Chrome(executable_path="C:/Users/Admin/PycharmProjects/admin/Drivers/chromedriver.exe")
        cls.driver.maximize_window()
        driver = cls.driver
        driver.get("https://admin-helper-f21c1.web.app/login")
        login = LoginPage(driver)
        login.enter_email("admin@gmail.com")
        login.enter_password("123456")
        login.click_login()
        cls.driver.implicitly_wait(10)

    def test_create_device_04(self):
        driver = self.driver
        driver.find_element_by_xpath('//*[@id="sidebar"]/ul/li[2]/a').click()
        create_device_form = CreateDevicePage(driver)
        create_device_form.click_create_device()
        time.sleep(3)
        create_device_form.click_close()
        //I would like to assert right here to know let me know that the test is correctly that means my form already closed
        

    @classmethod
    def tearDownClass(cls):
        cls.driver.close()
        cls.driver.quit()
        print("Test create device completed")

请帮我解决这个问题,非常感谢大家

标签: pythonselenium-webdriverautomated-tests

解决方案


您可以编写自己的函数来验证表单是否仍然存在于 html 中。如果驱动程序仍然找到您的表单元素,则返回 false,否则返回 true。之后使用断言方法结果。

示例代码:

def is_form_close(self):
    is_form_close = True
    try:
        # locate your form by what ever you have
        driver.find_element_by_id("")
        is_form_close = False
    except NoSuchElementException:
        print("Form has been close")
    return is_form_close

assert is_form_close() == True

推荐阅读