运行循环遍历多个页面的编码 UI 测试方法
本文关键字:编码 UI 测试方法 循环 遍历 运行 | 更新日期: 2023-09-27 18:34:31
我有一个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"
);
});
}
}
}
有一个重载的 Assert.AreEqual(object,object,string(。如果将 URL 放入将在测试结果中显示的字符串中。
当CodedUI Test
发生故障时,它会在发生故障时保留桌面的图像。您可以检查是否创建了错误映像。
默认情况下,它是在TestResults
文件夹中创建的,默认情况下位于Project
文件夹中。如果测试作为Team Build
的一部分或通过MTM
运行,则可以通过编辑测试设置来更改默认的 TestResults 路径:
- 如何:从 Visual Studio 编辑测试设置文件 Microsoft
- 如何:编辑测试计划的现有测试设置
记录错误的最佳方法是尝试。抓住他们。然后将它们添加到字符串中,然后在测试结束时断言该字符串是否不为空。
这种方式可以提供错误,位置等的更多详细信息。
下面的视频解释了如何:
健壮的代码,在出错时继续http://www.microsoft.com/en-gb/showcase/details.aspx?uuid=65967d59-798b-47ce-9743-534d1c106657