2017-04-07 28 views
0

我正在開發一個使用python的擠壓套件,它應該允許沒有軟件開發技能的用戶記錄gui應用程序的測試用例。 一些壓扁方法應該改變/擴展以適應我們的特殊需求,因此我編寫了一個覆蓋壓扁方法的包裝。Python:覆蓋在運行後注入的擠壓方法

因此,如果用戶必須從記錄的代碼儘可能少地改變,那將是最好的。 我不希望用戶必須添加「mywrapper」。在每個方法調用之前。

所以我想我只需要添加 「從mywrapper進口*」

與具有相同名稱包含mywrapper方法爲squich方法,例如:

def waitForObjectItem(object, item, timeout=None): 
    // do additional stuff 
    return squish.waitForObjectItem(object, item, timeout) 

的問題是,(自壓縮網站):

在測試腳本啓動/附加到應用程序後,在運行時將擠壓功能和成員注入壓縮模塊。

因此mywrapper的導入代碼將不會被使用。

如何強制執行我的代碼而不是進一步更改測試用例記錄時的壓扁代碼。

回答

0

可以在主函數內而不是在文檔的頂部導入「mywrapper」。 因此,它不會被導入,直到函數被執行,因此只有在注入汁液方法之後。