我在 Visual Studio 2012 中为我正在测试的应用程序录制了一段录音。我记录添加一个带有案例的人(子记录)。案例编号是自动生成的,因此每次我运行此测试时都会有所不同。
当我播放录音时,尝试单击案例记录的链接时失败。这是因为每次执行的链接都不同。
指定这一点的代码在设计器中(即使在我将其“移动”到 UIMap 文件之后)。另外,我不能每次都改变它来预测这个数字是多少。
如何根据列表中的第一个链接(它是一个网格视图)而不是特定的链接测试和 url 来选择录音?
我在 Visual Studio 2012 中为我正在测试的应用程序录制了一段录音。我记录添加一个带有案例的人(子记录)。案例编号是自动生成的,因此每次我运行此测试时都会有所不同。
当我播放录音时,尝试单击案例记录的链接时失败。这是因为每次执行的链接都不同。
指定这一点的代码在设计器中(即使在我将其“移动”到 UIMap 文件之后)。另外,我不能每次都改变它来预测这个数字是多少。
如何根据列表中的第一个链接(它是一个网格视图)而不是特定的链接测试和 url 来选择录音?
一位聪明的同事帮助了我。这是他找到的解决方案:
replaced Mouse.Click(uIHHP2013000005Hyperlink, new Point(49, 2));
在我的 UIMap 设计器中使用硬编码值定义的位置。
和:
HtmlControl control = new HtmlControl(this.UIPersonsCCDWindowsIntWindow.UIDetailsCCDDocument);
control.SearchProperties.Add(HtmlControl.PropertyNames.ClassName, "HtmlHyperlink");
UITestControlCollection controlcollection = control.FindMatchingControls();
List<string> names = new List<string>();
foreach (UITestControl x in controlcollection)
{
if (x is HtmlHyperlink)
{
HtmlHyperlink programCaseLink = (HtmlHyperlink)x;
if (programCaseLink.Href.StartsWith("http://mywebsite.com/ProgramCase/Details/"))
{
Mouse.Click(programCaseLink);
}
}
}