解決用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))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM