在使用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))