Try Except 语句来测试是否存在错误按钮,如果找到元素则抛出异常
Try Except Statement to Test for Presence of Error Button, Throw Exception if Element Found
我编写了一个 Python / Selenium 脚本来自动化金融网站上的工作流程。
其中一项测试涉及检查其中一个屏幕上是否存在错误文本。
附件是一个 Try / Except 块,用于检查是否存在按钮 (id = errorShowMore)。如果按钮显示,我希望脚本失败,我想截取页面的屏幕截图。
我编写了识别错误按钮的代码。然后我将这段代码放入 Try / Except 块中。
但是,我对如何改进这个错误处理结构有疑问(如果可以的话)。
try:
showMoreButton = driver.find_element_by_id("errorShowMore")
assert showMoreButton.click() except AssertionError:
screenshot_name = "FAIL" + "_" + test_case_ID + "_" + browser + "_" + env + "_" + time_stamp + ".png"
saved_screenshot_location = str(screenshot_directory / screenshot_name)
driver.get_screenshot_as_file(saved_screenshot_location)
raise
当我 运行 代码和错误存在时,我得到一个 "AssertionError"(预期),截取屏幕截图(预期)并且脚本停止(预期)。
但是,我觉得我少了什么。
是否有更好的方法来检查是否存在错误按钮?
您可以简单地使用 find_elements_by_id
并获得计数。
errEleCount = len(driver.find_elements_by_id("errorShowMore"))
if errEleCount>0:
# implement the logic here.
我编写了一个 Python / Selenium 脚本来自动化金融网站上的工作流程。
其中一项测试涉及检查其中一个屏幕上是否存在错误文本。
附件是一个 Try / Except 块,用于检查是否存在按钮 (id = errorShowMore)。如果按钮显示,我希望脚本失败,我想截取页面的屏幕截图。
我编写了识别错误按钮的代码。然后我将这段代码放入 Try / Except 块中。
但是,我对如何改进这个错误处理结构有疑问(如果可以的话)。
try:
showMoreButton = driver.find_element_by_id("errorShowMore")
assert showMoreButton.click() except AssertionError:
screenshot_name = "FAIL" + "_" + test_case_ID + "_" + browser + "_" + env + "_" + time_stamp + ".png"
saved_screenshot_location = str(screenshot_directory / screenshot_name)
driver.get_screenshot_as_file(saved_screenshot_location)
raise
当我 运行 代码和错误存在时,我得到一个 "AssertionError"(预期),截取屏幕截图(预期)并且脚本停止(预期)。
但是,我觉得我少了什么。
是否有更好的方法来检查是否存在错误按钮?
您可以简单地使用 find_elements_by_id
并获得计数。
errEleCount = len(driver.find_elements_by_id("errorShowMore"))
if errEleCount>0:
# implement the logic here.