我在我的网站上使用VS2012。我想记录方法和断言,然后根据我的需要手动更改它们。我尝试了这个并添加了属性和变量并更改了方法的内容并且工作正常,但后来我尝试记录另一个方法并生成代码 - 它删除了我所做的一切,因为它与UI映射不匹配。 有没有正确的方法呢?
答案 0 :(得分:6)
不要编辑 uimap.designer.cs 文件中的代码,如果它说它是生成的文件并且编辑将丢失,则顶部会有注释。每次记录新操作或断言时,都会从 uimap.uitest 文件重新生成文件。如果使用UI Map编辑器进行更改,也会重新生成该文件。
在许多情况下,可以使用解决方案资源管理器中的UI地图编辑器(双击 uimap.uitest 文件)进行更改。操作面板上方有9个用于各种编辑的图标,也可通过右键单击获得。通过更改操作和uimap控件的属性面板中的内容,可以进行更多更改。
如果uimap编辑器不够用,请使用命令(通过图标或右键单击)将操作移动到 uimap.cs 文件中。然后退出uimap编辑器,保存更改。现在可以根据需要编辑 uimap.cs 文件中的代码。请注意, uimap.designer.cs 文件和 uimap.cs 文件的顶部附近都有partial class UIMap
。使用“将代码移动到UIMap.cs”命令后,我建议保存所有文件,以便重新生成 uimap.designer.cs 文件。不保存文件会使“* .cs”文件处于不一致状态,以便在编辑 uimap.cs 文件(和其他文件)中的代码时报告虚假错误。
也可以将 uimap.uitest 文件编辑为XML文件,但首先进行备份,因为它很容易打破文件。
在原始问题中,短语“它删除了我所做的一切,因为它与UI地图不匹配”,我相信,误解了Coded UI正在做什么。没有检查事情是否匹配。只需在对uimap.uitest文件进行更改后重新生成 uimap.designer.cs 文件。