Grz*_*nio 3 .net c# testing user-interface winforms
我正在尝试自动测试winform应用程序.我在与测试代码相同的过程中运行它,因此很容易找到.Net控件并模拟用户对它们的操作.然而,我得到了一个消息框(使用标准的MessageBox.Show方法创建).如何抓住它并模拟按下按钮?
我建议治疗潜在的疾病,而不是症状.花几分钟时间阅读这些内容
简而言之,使用界面来分离所有模态对话框弹出窗口 - 这对于UI测试自动化来说是一个痛苦的问题.然后,您可以替换不执行任何操作或返回预定测试值的接口的模拟实现.真正的实现当然会以模态方式弹出实际的对话框......就像这样(来自第二个链接)
public class UserInterrogator : IUserInterrogator
{
private Form owner;
public UserInterrogator(Form owner)
{ this.owner = owner; }
public Font GetFontFromUser() // member of the IUserInterrogator interface
{
FontDialog fd = new FontDialog();
fd.ShowDialog( owner );
return fd.Font;
}
}
Run Code Online (Sandbox Code Playgroud)
更简单的方法当然是编写一些代码来查找对话框并关闭/杀死它.我见过一些人在Win32 API和NUnitForms方面取得了一些成功......
| 归档时间: |
|
| 查看次数: |
2535 次 |
| 最近记录: |