【发布时间】:2015-02-17 00:52:36
【问题描述】:
我正在记录成功登录场景的编码 UI 测试。调出“Coded UI Test builder”后,我记录了以下步骤。
- 启动 exe
- 点击表单会触发页面上的一些动画 5-6 秒后,我可以选择“注册”或“登录”
- 我点击了“登录”(uILloginButton) 按钮并成功登录。
当我尝试回放此测试时,它在第 3 步崩溃,提示“找不到名为 'btnLogin' 的 UI 元素”
所以我导航到 UIMap.Designer.cs 文件并在单击按钮之前添加下面的代码行。
uILoginButton.WaitForControlExist();
我在“UIMap.Designer.cs”中记录的方法看起来像这样
/// <summary>
/// DoLogin
/// </summary>
public void DoLogin()
{
#region Variable Declarations
WpfButton uILoginButton= this.UIMPortPodGUIWindow.UIItemCustom7.UIContinueButton;
#endregion
uILoginButton.WaitForControlExist(100);
// Click 'Continue' button
Mouse.Click(uILoginButton, new Point(191, 42));
}
在此之后,我回放了这个测试,我很高兴看到一切正常。
然后我开始录制第二个测试,完成录制后我意识到录制已经覆盖了我之前对UIMap.Designer.cs 所做的更改,即缺少以下行
uILoginButton.WaitForControlExist();
我知道它应该进入 'UIMap.cs' 但不知道如何在两个类中部分声明 DoLogin() 方法。
添加自定义代码的最佳位置是哪里?
【问题讨论】:
标签: c# .net automated-tests