0

誰かが私を助けることができれば、私はそれを感謝します.

私は Visual Studio 2010 で C# ファイルに取り組んでおり、複数のフォーム ページを含む Web サイトをテストできるようにする必要があります。例として、それらすべてを 1.aspx、2.aspx などと呼びます。

最初のページ (1.aspx) に問題なく入力するコードを作成し、[続行] ボタンをクリックして次のページを読み込みますが、2.aspx に到達すると、フォームへの入力を続行しません。

2.aspx ページの要素は "DOB" と呼ばれます。最初から実行しようとすると (すべてのページが 1 つの .cs ファイルにデータを形成しています)、「DOB は現在のコンテキストに存在しません」のようなエラーが表示されます。

これについての誰の洞察も本当に高く評価されます!

4

1 に答える 1

2

正直なところ、WatiN Frameworkを使用したほうがよいように思えます。私は何年もそれを使って自動化を書いてきましたが、その実装方法と使いやすさは、わずかな学習曲線の価値があります。

答えにもう少し追加するだけです。はい、これは疑似コードです:

[Test]
public void Should_attach_to_browser()
{
     ExecuteTest(browser =>
     {
          browser.GoTo(NewWindowUri);
          browser.Link(Find.First()).Click();

          var findBy = Find.ByTitle("New window");
          var newWindow = Browswer.AttachTo(browser.GetType(), findBy);
          newWindow.Close();
     });          
}

上記のコードで、Browser.AttachTo(browser.GetType(), findBy);メソッドに注意してください。あなたの質問について私が理解したことに基づいて、現在のフォームからフォーカスを外して、作業/実行フローの次のフォームに割り当てること.AttachTo()ができるため、この方法はうまく機能します。

于 2013-02-13T19:43:30.437 に答える