我有两个测试案例: 1.点击按钮。在那个文本框出现之后。它显示出来,直到它有焦点。2.在文本框中放一些文本。
这两个测试用例都在两个独立的TestMethods中。当第一次测试通过时,焦点将转到visual studio。我想这是因为在某种程度上节省了演播室的结果。如果这两个操作都在同一个TestMethod中,它就可以正常工作,但是我需要它在不同的测试中。有没有办法不去VS就把注意力集中在应用程序上呢?
下面是一些方法:
[TestMethod]
public void _01_Test_45040_AddProjectButtonClick()
{
//ai.LeftPanelProjects.AddProjectButton.Click();
WpfButton btnAddProj = CommonActions.GetControl<WpfButton>(app, "AddButton");
btnAddProj.ClickField();
}
[TestMethod]
public void _02_Test_45041_TypeProjectName()
{
WpfEdit txtProjName = CommonActions.GetControl<WpfEdit>(app, "NewProjectTextBox");
txtProjName.Text = projectName;
}UPD:如果使用nUnit来运行测试,就不会出现这个问题。由于某些原因,nUnit并没有失去焦点。我已经把所有的测试都移植到它上了。
发布于 2014-11-26 13:47:56
你不能那样做。这是两个截然不同的测试用例。TestCleanup()和TestInitialize()在每个测试之间执行,因此它总是返回到VS。
你为什么不在第二次考试时就这么做呢?
[TestMethod]
public void _02_Test_45041_TypeProjectName()
{
WpfButton btnAddProj = CommonActions.GetControl<WpfButton>(app, "AddButton");
WpfEdit txtProjName = CommonActions.GetControl<WpfEdit>(app, "NewProjectTextBox");
btnAddProj.ClickField();
txtProjName.Text = projectName;
}发布于 2014-12-01 07:42:56
如果希望将它们保存在单独的测试中,那么可以从第一次调用第二个方法。因为第一个测试方法已经完成了它的执行,所以它会转到VS。你可以做到这一点。
[TestMethod]
public void _01_Test_45040_AddProjectButtonClick()
{
//ai.LeftPanelProjects.AddProjectButton.Click();
WpfButton btnAddProj = CommonActions.GetControl<WpfButton>(app, "AddButton");
btnAddProj.ClickField();
//calling the second method
_02_Test_45041_TypeProjectName();
}
[TestMethod]
public void _02_Test_45041_TypeProjectName()
{
WpfEdit txtProjName = CommonActions.GetControl<WpfEdit>(app, "NewProjectTextBox");
txtProjName.Text = projectName;
}https://stackoverflow.com/questions/26889490
复制相似问题