0

TestMethod特定のユーザーコントロールを含むすべてのページをループするがあります。私が遭遇している問題は、アサーションが失敗した場合、エラーメッセージまたはスタックトレースで失敗したページを確認できないことです。テスト結果の詳細に表示されるパラメータをカスタマイズまたは追加する方法はありますか?

本当に必要なわけではありませんが、ここに私のコードがあります...

[TestMethod]
public void uiTestCourseListingPages() {
    UiBrowserWindow uiBrowserWindow = new UiBrowserWindow();
    string controlType = "~/_control/course/courseList.ascx";
    var request = WebRequest.Create(Utility.GET_PAGES_WITH_CONTROL_URL + controlType);
    request.ContentType = "application/json; charset=utf-8";

    using(var response = request.GetResponse()) {
        using(var streamReader = new StreamReader(response.GetResponseStream())) {
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            List<PagesWithControl> pagesWithControl = serializer.Deserialize<List<PagesWithControl>>(streamReader.ReadToEnd());
            pagesWithControl.ForEach(x => {
                // launch browser
                uiBrowserWindow.launchUrl(x.key);
                // setup assertions
                Assert.AreEqual(
                     uiBrowserWindow.uiHtmlDocument.searchHtmlElementByAttributeValues<HtmlDiv>(new Dictionary<string, string> {
                        {HtmlDiv.PropertyNames.Class, "footer"}
                    }).Class,
                    "footer"
                );
            });
        }
    }
}
4

3 に答える 3

0

オーバーロードされたAssert.AreEqual(object、object、string)があります。テスト結果に表示される文字列にURLを入力した場合。

于 2012-05-18T16:00:24.220 に答える
0

CodedUI Test障害が発生すると、障害が発生したときにデスクトップのイメージが保持されます。エラーイメージが作成されているかどうかを確認できます。

TestResultsこれはデフォルトでフォルダ内に作成され、デフォルトではフォルダ内にありProjectます。テストがの一部として、Team Buildまたはを介して実行されている場合MTMは、テスト設定を編集して、デフォルトのTestResultsパスを変更できます。

于 2012-05-18T17:01:14.137 に答える
0

エラーをログに記録する最良の方法は、エラーをキャッチすることです。次に、それらを文字列に追加し、テストの最後に文字列が空でないかどうかをアサートします。

この方法で、エラー、場所などの詳細を提供できます。

以下のビデオはその方法を説明しています:

堅牢なコード、エラーを続行 http://www.microsoft.com/en-gb/showcase/details.aspx?uuid=65967d59-798b-47ce-9743-534d1c106657

于 2013-05-10T14:56:42.393 に答える