1

コンテンツが複数回出現する場合に、WatiN を使用してページを検証する最善の方法を考えてみてください。

たとえば、アドレスの詳細が追加されたページがあります。そのページのほとんどのフィールドは必須です。すべての必須フィールドに入力せずにそのページに移動して「保存」ボタンを押すと、「これは必須フィールドです」という 4 つのメッセージが表示されるはずです。エラーメッセージが表示されます。

現在、単一のエラーメッセージを処理する方法を理解しています-次のようなもの

// ASSERTION1

boolVerifyifTextPresent1 = ie.ContainsText("これは必須フィールドです。");

そして、

Assert.IsTrue(boolVerifyifTextPresent1, @"WebPage に期待されるテキストが含まれていません > ""This is a required field."".");

だから私が求めているのは、4つの「これは必須フィールドです」というメッセージがすべて表示されることを確認する方法です。

4

1 に答える 1

0

ページコンテンツの生成方法の詳細を省略しましたが、ASP.netWebフォームと必須のフィールドバリデーターを使用していたと言います。ページをデザインするときにこれらのバリデーターにIDを割り当て、それらのIDを持つスパンとしてHTMLでレンダリングされます。次に、WATINを使用して、そのバリデータスパンを取得し、その属性やテキストコンテンツを確認できます。

検証の概要を確認する場合、またはMVCを使用する場合は、同様のことを行うことができます。何らかの方法で、エラーメッセージが含まれている要素を取得できます。

// do this for each rfv
WatiN.Core.Span rfvAddress1Line1 = Document.Span("ctl00_Container_rfvAddress1Line1");
Assert.IsTrue(rfvAddress1Line1.Exists);
Assert.AreEqual("Some Error Message", rfvAddress1Line1.Text);

// alternatively, if all of the messages were the exact same, you could do this
var spans = Document.Spans.Where(s => s.Text == "Some Error Message");
Assert.AreEqual(4, spans.Count());

WATINは非常に強力であり、ページでテストする内容を非常に細かくすることができます。これがお役に立てば幸いです。

于 2012-12-19T11:27:35.427 に答える