2012-09-24 41 views
1

我想弄清楚一種方式來反思性地查看我在QTP腳本中執行的代碼。這裏的想法是,當我遇到崩潰時,有一個恢復方案,捕獲錯誤消息並將其作爲缺陷發送給QC。如果我可以看到我已經執行的代碼,那麼理論上我還可以包括重現缺陷的步驟。QTP檢索已執行的代碼

有什麼想法?

回答

1

選項1:動畫錄製和播放

QTP11(終於)有這樣的需求特徵:看看ToolsOptionsRunScreen capture。 「Save movie to results」可讓您準確記錄發生的情況。生成的電影是運行結果的一部分,即如果您提交此運行結果的錯誤,電影將包含在內。

我不會使用這種功能,因爲您必須記錄電影始終只是爲了讓它在發生錯誤的情況下。您最終將得到包含無人看到的電影的大運行結果,只是爲了讓他們在極少數情況下發生錯誤並創建缺陷。 但是:

在這方面,惠普完成了正確的工作:只有在出現錯誤時,您才能在對話框中選擇將電影保存爲結果。而且,爲避免保存不包含錯誤的測試執行中的無聊部分,並且看到導致錯誤的關鍵步驟,您可以指定僅保留電影的最後NKB,以便始終能夠看到引導到錯誤。

選項2:「宏」錄製和播放

你可以在理論上爲所有測試對象自己的播放方法(通過RegisterUserFunc註冊功能),讓他們保存的呼叫信息到一些數據結構在進行播放步驟之前(通過調用原始播放功能)。

然後,仍然在理論上,您可以創建一個很好的小型回放引擎,對該數據結構進行迭代,並執行之前記錄的回放步驟。

我已經做了類似的事情,在改變AUT配置以在各種配置上迭代給定回放而不改變執行原始回放的代碼之後,重複一系列回放步驟。

但是,這是相當多的工作,許多事情可能是錯誤的:AUT回放時必須處於與「錄製回放」期間相同的初始狀態。這包括您的測試環境的所有相關數據庫和子系統。通常,在大型項目中這不是一件容易的事情,不值得麻煩(我們正在討論重新創建原始初始配置以重現一個單一的錯誤)。

因此,我建議您查看電影功能,即選項1.它不會播放AUT中的步驟,但它顯示了原始播放過程中發生的事情 - 完全是這樣。

+0

選項1非常有趣,涵蓋了我正在尋找的部分內容,但我希望找到一種方法來獲取剛剛運行的代碼。既然我問了這個問題已經有一段時間了,我會接受你的答案。 – Riddari