3

我正在使用一个编码的 UI 测试工具,它查看我们编写的 jQuery 网格。我遇到的问题是,当网格分页时,当我再次尝试调用分页时,编码的 ui 会跟踪旧控件。我想一个例子会更好地解释它:

BaseMap.MSMaintenanceMap.PageNext(); BaseMap.MSMaintenanceMap.PageNext();

这是我试图开始工作的代码。问题出在生成的设计器文件中:

if ((this.mUITitlePagingRowRow == null)) { this.mUITitlePagingRowRow = new UITitlePagingRowRow(this); }

当我将其更改为:

this.mUITitlePagingRowRow = new UITitlePagingRowRow(this);

它每次都有效。问题是当 uitest 重新生成时,由于显而易见的原因,这会恢复。是否有任何人知道我可以放入 .uitest 文件以始终获取最新版本的控件的其他参数?

4

2 回答 2

3

将 AlwaysSearch 添加到控件的 SearchConfigurations 中,这会强制测试不缓存控件,而是始终使用定义的属性查找它。希望这可以帮助。

于 2011-05-27T08:43:04.787 回答
1

您可以从您的测试方法刷新地图。因此,当您第二次在部分类中调用该方法时,只需输入类似BaseMap BaseMap = new BaseMap();Then 这将刷新地图,您可以BaseMap.MSMaintenanceMap.PageNext();在没有刷新问题的情况下调用。

解决此问题的另一种方法是不依赖BaseMap.Designer.cs. BaseMap.cs您可以在部分类中手动编写方法。这不会生成。将对象记录PageNext()到地图中。然后写一个这样的方法:

public void PageNext()
{
    BaseMap = new BaseMap();

    Mouse.Click('TheObjectYouRecorded');
}

希望这可以帮助。

于 2011-05-26T11:38:22.987 回答