は二つの大きなものはWatin &セレンであるように思えます。私はセレンと何の仕事もしていないので、そこに意見はありません。
私はかなりの量のWatinを使用しましたが、かなり良いですが、多くの問題があります。ブラウザからの応答時間を大きく変化させたり、タイムアウト時間を設定したりするのは難しいでしょう。
最新バージョンのWatinはIE & Firefoxをサポートしています。これはかなりクールです。
私の経験では、テストのメンテナンスまで、最も重要なことは「テストドライバ」コードを「ページラッピングコード」から完全に分離することです。以下のようなコードかもしれない「テストドライバー」私は、実際のテストロジック(NUnitのまたは類似の)意味で:
を...
var wrapper = new SearchPageWrapper(browser);
wrapper.ClickAdvancedSearch();
wrapper.EnterSearchPhrase("dog");
wrapper.SetSortBy(SortType.Date);
wrapper.ExecuteSearch();
...ページ-ラッパーはこの論理インターフェイスを公開しますページ自体(複雑で、ページレイアウトを頻繁に変更することができます)実装の詳細を隠しながら:
public class SearchPageWrapper {
...
public void ClickAdvancedSearch() {
_browser.Buttons("advSearch").Click();
}
public void EnterSearchPhrase(string phrase) {
_browser.TextBox(Find.ByName("phrase")).TypeText(phrase);
}
... etc ...
}
あなたはそれが簡単に新しいテストケースを追加することができラッパーのライブラリーを構築する。この方法は、とにもなりますWaのやり方に影響を与えるレイアウト変更に対処するのは苦痛が少ないスズは&がページ上の要素と相互作用することを発見する。
まず第一に、実際にコンソールとしてそれを実行していることはすべきではありません答え。事実、最良のシナリオは、ビルドサーバー上のサービスとしてCruiseControl.NETによって制御される別のボックスでテストを実行することです。ビルドサーバーはこれを行うべきではありません。 – Alex
これをbulldサーバーと呼ぶのではなく、代わりに継続的な統合サーバーと呼んでください...今は大丈夫ですか? – Ryu