2013-07-31 71 views
0

預先感謝您的幫助。Specflow功能文件最佳實踐

我的問題涉及SpecFlow功能文件中的最佳實踐?

問:

是利用認爲是不好的實踐特徵的文件裏等待命令。

實施例:

And i click on the username 
And wait 5 seconds 
And i input new value into last name 

等待命令強制一個5秒的等待。我這樣做是爲了確保頁面已加載,以防止「找不到元素」錯誤或其他錯誤。基本上要確保我有一個乾淨的頁面來操縱。

更好的做法是在Step文件本身內部使用等待嗎?

//using Fluent Automation 
I.WaitUntil(() =>()); 
//or 
I.Wait(); //timespan 

我不使用流利的自動化等待的理由是:

通過利用自動化流利的方法你是依賴於設置對象的默認超時。在某些情況下,默認的超時時間可能不夠長或可能會很長。看起來對我來說非常冗長,不斷地更改/重置Settings對象,唯一的好處是從功能文件中刪除等待命令。

那麼最好的做法是什麼?

感謝,

-n

+0

FluentAutomation的下一個版本爲Settings WaitUntil超時值添加了每個方法的覆蓋。 – stirno

回答

3

我認爲最好的做法是保持功能文件爲您的場景,以及免費的實施細則。

由於我們正在遵循BDD流程(http://dannorth.net/introducing-bdd),因此功能文件是您與流程專家之間的對話輸出,並且該場景表示您將要採取的步驟來證明您的功能適用於這個例子。您可能希望這些步驟可以定義業務流程,並且可以由任何系統執行,而不僅僅是我們現在可能開發的那個。理想情況下,這個邏輯捕捉我們的意圖,並可以在任何未來可能取代當前系統的系統上重用。

所以,我只是不明白你說你需要等待

....

雖然你可能想說

When the page has loaded 

和映射相當不錯到流利的自動化。