每次编码的 UI 测试后失去焦点
本文关键字:失去 焦点 测试 UI 编码 | 更新日期: 2023-09-27 18:30:16
我有两个测试用例:1. 点击按钮。之后 文本框 出现。它显示直到它有焦点。2.在文本框中放置一些文本。
这两个测试用例都在两个单独的测试方法中。当第一个测试通过时,焦点转到视觉工作室。我想这是因为以某种方式将结果保存在工作室中。如果两个操作都在同一个 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 不会失去焦点。我已经将所有测试迁移到它。
你不能
那样做。这是两个不同的测试用例。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;
}
如果要将它们保留在单独的测试中,则可以从第一个方法调用第二个方法。它转到 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;
}