为什么在Visual Studio编码的UI测试中编辑UIMap.designer.cs文件不好?

时间:2013-10-29 22:27:18

标签: user-interface automation coded-ui-tests qa

我已经读过编辑UIMap.Designer.cs文件很糟糕,但是,我不明白为什么。

每个MSDN: “不要直接修改UIMap.designer.cs文件。如果这样做,将覆盖对文件的更改。” http://msdn.microsoft.com/en-us/library/dd380782.aspx

有人知道被覆盖的内容吗?这是否意味着如果在Designer文件之后编辑UIMap.uitest文件,设计器文件会被反转?请帮忙。

3 个答案:

答案 0 :(得分:7)

每次编辑(保存)到 UIMap.uitest 文件后,都会从 UIMap.uitest 文件重新生成UIMap.designer.cs文件。文件顶部有一条评论说它是一个生成的文件,编辑将会丢失。

乍一看似乎需要编辑设计器文件中的代码的大量更改可以通过UIMap编辑器中显示的操作和UI控件的属性面板进行编辑来完成。某些更改确实需要手动编辑。对于这些,有一个命令(按钮或右键菜单)将动作移动到 UIMap.cs 文件中,可以根据需要对其进行编辑和扩展。这两个 UIMap ... cs 文件都在其类标题中指定partial,因此两者都有助于同一个UIMap。

当一个方法的一个动作需要手动编辑时,将该方法拆分为两个或三个部分以将需要编辑的动作放入其自己的方法中是值得的。 split命令可通过按钮或右键单击菜单获得。隔离了操作后,可以将其方法移动到 UIMap.cs 文件中。

当移动方法然后编辑它们时,我推荐以下活动顺序。

  1. 如果需要:将方法拆分为多个部分,然后使用UIMap编辑器重命名拆分方法。保存 UIMap.uitest 文件,从而重新生成设计器文件。然后添加对拆分和重命名方法的调用。构建测试,或许,检查测试是否仍按预期工作。

  2. 使用UIMap编辑器将方法移动到 UIMap.cs 文件中。

  3. 保存导致设计器文件重新生成的所有文件。省略此全部保存可能会导致混淆错误显示在C#文件中。

  4. 编辑刚搬入 UIMap.cs 文件的代码。

  5. UI Map编辑器是Visual Studio 2012的标准编辑器。对于Visual Studio 2010,编辑器是由Feature Pack 2添加的。

答案 1 :(得分:0)

另一个选项是创建另一个类文件,例如,创建Class1.CS并将所有代码从UIMap.Designer.csUIMap.cs移至Class1.cs。现在,无论何时记录任何内容,重新生成的代码都将在UIMap.Designer.cs文件中自动生成,因此只需将相同的代码复制到Class1.cs并根据需要更改代码,并在运行主测试时调用{{ 1}}它将运行this.Class1.launch();

它还可以帮助您免除codedTest中方法的拆分,然后将其移至UIMap.uitest 甚至会有一个单独的课程,包括对UIMap.cs的所有更改。

答案 2 :(得分:0)

在Visual Studio中打开 UIMap.uitest 文件,然后单击“将代码移至UIMap.cs”

enter image description here

您的功能将从designer.cs移至UiMap.cs