我有一个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"
);
});
}
}
}
答案 0 :(得分:0)
有一个重载的Assert.AreEqual(对象,对象,字符串)。如果您将URL放入将显示在测试结果中的字符串中。
答案 1 :(得分:0)
当CodedUI Test
失败时,它会在发生故障时保留桌面的图像。您可以检查是否创建了错误图像。
默认情况下,它会在TestResults
文件夹中创建,默认情况下位于Project
文件夹中。如果您的测试作为Team Build
或MTM
的一部分运行,则可以通过编辑测试设置来更改默认的TestResults路径:
答案 2 :(得分:0)
记录错误的最佳方法是尝试..捕捉它们。然后将它们添加到字符串中,然后在测试结束时断言字符串是否为空。
这种方式可以为错误,位置等提供更多细节。
以下视频介绍了如何:
强大的代码,继续出错 http://www.microsoft.com/en-gb/showcase/details.aspx?uuid=65967d59-798b-47ce-9743-534d1c106657