2011-03-10 53 views
3

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

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

这是我试图去上班的代码。问题是在这里生成的设计文件:

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

当我把它改成这样:

this.mUITitlePagingRowRow = new UITitlePagingRowRow(this);

它屡试不爽。问题在于uitest重新生成时,由于显而易见的原因,这会恢复原状。是否有任何其他参数可以让任何人知道我可以放入.uitest文件中以获取最新版本的控件?

+0

哦,我应该提到的一件事是页面不回传,它执行jQuery ajax调用来获取下一页数据。 – light 2011-03-10 16:07:33

回答

3

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

1

您可以从您的测试方法刷新地图。所以,当你第二次在部分类中调用方法时,只需要输入如BaseMap BaseMap = new BaseMap();然后这将刷新地图,并且可以调用BaseMap.MSMaintenanceMap.PageNext();而不会出现刷新问题。

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

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

    Mouse.Click('TheObjectYouRecorded'); 
} 

希望这有助于。