UIMap中的编码ui对象

时间:2013-04-25 07:52:44

标签: coded-ui-tests

我有一个关于编码ui UIMap的问题。 每次我在同一个应用程序上记录一个动作时,编码的ui会为应用程序中的同一个窗口生成一个新对象。 看起来像: UIAdminWindow

UIAdminWindow1

UIAdminWindow2

依旧...... 每个窗口类都有不同的按钮,即使它是同一个窗口。 因此,保持代码维护非常困难。 我想要的是,每次我在窗口上执行操作和记录时,即使不是同时,已经为这个窗口生成的类也将使用新控件进行更新。 对它为什么会发生的任何建议?

非常感谢!

3 个答案:

答案 0 :(得分:1)

您可以通过以下两件事来清理您的UIMaps:

  1. 使用UIMap Toolbox(来自codeplex)在UIMap中移动控件,使它们都在一个控制树下。
  2. 当您有重复的UI控件时,请转到引用重复控件的操作的属性,并将UI Control属性更改为指向UIMap中的原始控件。
  3. 现在应该没有引用重复的树,您可以从地图中删除它,保持清洁。
  4. 是的,这样做很痛苦,但它的可维护性是值得的。

答案 1 :(得分:1)

UIMap.uitest中,您可以更改操作名称和控件名称,以便更好地进行维护。 例如:您可以将UIAdminWindow设置为FirstAcessWindow或其他可以轻松表达控件或操作的名称。

答案 2 :(得分:0)

我能猜到的是,有一些随机生成的内容或元素标识数据,例如可能导致它的类或标题。例如,这可能是由不同的用户名引起的。您还可以从UI地图元素树更新元素。