尝试使用Except语句测试错误按钮的存在,如果找到元素则抛出异常

时间:2019-06-12 21:53:26

标签: python selenium try-catch assertion webpage-screenshot

我已经编写了Python / Selenium脚本来自动化金融网站上的工作流程。

其中一项测试涉及检查其中一个屏幕上是否存在错误文本。

Attached是一个Try / Except块,用于检查按钮的存在(id = errorShowMore)。如果显示该按钮,则我希望脚本失败,并希望对该页面进行截图。

我写了识别错误按钮的代码。然后,我将此代码放入“尝试/例外”块中。

但是,我对如何改进此错误处理结构(如果可以改进)有疑问。

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”(预期),截图(预期),脚本停止(预期)。

但是,我感觉自己缺少一些东西。

是否有更好的方法来检查错误按钮的存在?

1 个答案:

答案 0 :(得分:0)

您只需使用find_elements_by_id即可获得计数。

errEleCount = len(driver.find_elements_by_id("errorShowMore"))
if errEleCount>0:
  # implement the logic here.