14 如何處理測試指令碼發生的異常

2021-07-08 14:37:56 字數 804 閱讀 8510

squish的一些函式失敗時會產生一些可以捕捉到的異常。我們可以寫出可以捕捉這些異常並做出響應的測試指令碼——例如,在測試 log 中記錄測試失敗資訊。

不管函式異常是什麼,異常處理機制對於每個指令碼語言是一致的,因此我們只需要看乙個如果實現的例子就明白了:

try:

checkbox = waitforobject(":make payment.check signed_qcheckbox")

test.passes("found the checkbox as expected")

except lookuperror, err:

test.fail("unexpectedly failed to find the checkbox", str(err))

waitforobject 函式嘗試找到執定的物件。如果該物件不可訪問——可能因為它不可見——在未超時期間,該函式發出乙個可捕獲的異常。在這個例子中,如果在超時之前找到該物件(該例中是乙個checkbox)我們呼叫test.passes 函式,如果未找到該物件呼叫test.fail 函式並將異常(以string格式)作為detail text傳給它。

在大多數情況下以及大多數語言,squish只發出語言的基本類異常(例如,python中exception,ruby中的standarderror)。然而,對於python和ruby,當找不到物件時,丟擲特定的lookuperror(squish::lookuperror)異常。

注意:在python中,必須使用test.passes代替test.pass 函式,是為了避免與python內建的pass語句發生衝突。

python如何處理異常

利用python捕獲異常的方式 方法一 捕獲所有的異常 1 2 3 4 5 6 7 8 捕獲異常的第一種方式,捕獲所有的異常 try a b b c exceptexception,data printexception,data 輸出 type exceptions.exception local...

JVM 是如何處理異常

jvm 是如何處理異常的?參 在乙個方法中如果發生異常,這個方法會建立乙個異常物件,並轉交給 jvm,該異常物件包含異常名稱,異常描述以及異常發生時應用程式的狀態。建立異常物件並轉交給 jvm 的過程稱為丟擲異常。可能有一系列的方法呼叫,最終才進入丟擲異常的方法,這一系列方法呼叫的有序列表叫做呼叫棧...

總結springboot如何處理異常的

springboot預設的處理異常的機制 springboot 預設的已經提供了一套處理異常的機制。一旦程式 現了異常 springboot 會向 error 的 url 傳送請求。在 springboot 中提供了乙個叫 basicerrorcontroller 來處理 error 請求,然後跳轉...