[Python] 使用 pdb 除錯 Robot Framework 的 Test library

[Python] 使用 pdb 除錯 Robot Framework 的 Test library

最近在使用 Robot Framework 來測試我們的專案程式,

在寫 Test library 時,遇到了一點問題,

Robot Framework 一直說某個模組找不到,因此不能 import。

但從程式碼又看不出來為什麼會找不到…

 

想說加個 pdb.set_trace() 中斷點看看:

import pdb; pdb.set_trace()

 

但 Robot Framework 好像不會因此停下來,

反倒跑出了別的錯誤…

 

查了一下,原來是要插入下面的程式碼,改用 sys.__stdout__,

因為 Robot Framework 在執行 test case 時,

會把 sys.stdout 轉向到別的地方去:

import pdb; pdb.Pdb(stdout=sys.__stdout__).set_trace()

 

這樣的話,就能在用 Robot Framework 執行 test suite 時,

把程式停在中斷點了~

 

參考資料:

stackoverflow: Debugging robot framework python keyword libraries

Robot Framework: Using the Python debugger (pdb)

(本頁面已被瀏覽過 639 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料