WatiN、そして Selenium では注文の問題は解決しないと思います。私は UI の自動化に WatiN と NUnit を使用していますが、実行順序は保証されていません。最初は、あなたが見ているものと同様の問題を引き起こしました。
dskh が答えたことの流れで、独立したテストが必要です。私は、統合/回帰ブラックっぽいボックス テストのために 2 つの方法でこれを行いました。
最初に: テストのセットアップで、既知の「良好な状態」になるように、前提条件データ値をセットアップします。システム回帰テストの自動化のために、データを既知の状態にリセットするために呼び出されるデータベース スクリプトをいくつか用意しました。これにより、いくつかの依存関係が追加されるため、設計を意識してください。注: 単純な単体テストでは、モック オブジェクトを使用して依存関係を取り除き、テストを "1 つのことをテストする" ようにすることを検討してください。オブジェクトのモック、メソッド呼び出しのスタブなどは、可能であれば行く方法です。これは、質問に基づいて可能性が高いと思われます。
2番目: 特定のものを特定の方法で絶対にセットアップする必要があり、セットアップをテストするためにそれらをスクリプト化すると、必要なシステム内部の知識が途方もなく追加された場合 (例: すべてのユーザーのセットアップ + すべての権限のセットアップ + など) 少数システムをブートストラップするために、NUnit を介して簡単に実行できるように、独自の名前空間で「ブートストラップ」テストがセットアップされました。テストの数を少なく保ち、テストが非常に安定していることを確認することが最も重要でした。現在、新規インストールでは、ブートストラップ テストが最初に実行され、高度なスモーク テストとして機能します。ブートストラップ テストのいずれかが失敗した場合、それ以上のテストは実行されません。いくつかの点で不格好ですが、代替手段はより不格好であるか、時間/リソース/その他の消費量が多くなりました.