我的网站使用 VS2012。我想记录方法和断言,然后根据需要手动更改它们。我尝试了这个并添加了属性和变量并更改了方法的内容,它工作正常,但后来我尝试记录另一个方法并生成代码 - 它删除了我所做的一切,因为它与 UI 地图不匹配。有正确的方法吗?
1 回答
不要编辑uimap.designer.cs文件中的代码,如果顶部有注释说它是生成的文件,编辑将丢失。每次记录新的操作或断言时,都会从uimap.uitest文件重新生成文件。如果使用 UI 地图编辑器进行更改,也会重新生成该文件。
在许多情况下,可以使用解决方案资源管理器中的 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 文件。