编码的UI控件需要刷新

时间:2011-03-10 16:00:12

标签: asp.net asp.net-mvc coded-ui-tests

我正在使用编码的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文件,以始终获得最新版本的控件?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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

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

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

    Mouse.Click('TheObjectYouRecorded');
}

希望这有帮助。