1. 程式人生 > >解決用try except 捕獲assert函式產生的AssertionError異常時,導致斷言失敗的用例在測試報告中通過的問題

解決用try except 捕獲assert函式產生的AssertionError異常時,導致斷言失敗的用例在測試報告中通過的問題

  在使用Python3做自動化測試過程中可能會遇到,assert函式不加try  except,就可以正常在報告裡體現用例不通過,加上變成通過。

這是因為在使用try except 時,捕獲了assert函式產生的AssertionError異常,導致異常沒有上拋,這時只需要在後面加上 raise 就可以再次把它丟擲。

        try:# 找到輸入框並輸入測試資料
            self.driver.find_element_by_id("kw").send_keys(testdata)
            # 找到搜尋按鈕,並單擊
            self.driver.find_element_by_id("
su").click() time.sleep(3) # 斷言期望結果中是否出現頁面原始碼中 self.assertIn(expectdata,self.driver.page_source) time.sleep(3) except AssertionError as e: logger.info(u"搜尋\"%s\",期望\"%s\"失敗" % (testdata, expectdata)) raise else: logger.info(u
"搜尋\"%s\",期望\"%s\"通過"%(testdata,expectdata))