C# 在每次编码的ui测试后失去焦点
我有两个测试用例: 1.点击按钮。然后出现文本框。它会一直显示直到它聚焦。 2.在文本框中输入一些文本 两个测试用例都在两个单独的测试方法中。当第一次测试通过时,焦点转到VisualStudio。我猜这是因为以某种方式将结果保存在工作室中。如果两个动作都在同一个TestMethod中,它就可以正常工作,但我需要它在不同的测试中。有没有办法不去VS而专注于应用程序 以下是这些方法:C# 在每次编码的ui测试后失去焦点,c#,visual-studio,coded-ui-tests,C#,Visual Studio,Coded Ui Tests,我有两个测试用例: 1.点击按钮。然后出现文本框。它会一直显示直到它聚焦。 2.在文本框中输入一些文本 两个测试用例都在两个单独的测试方法中。当第一次测试通过时,焦点转到VisualStudio。我猜这是因为以某种方式将结果保存在工作室中。如果两个动作都在同一个TestMethod中,它就可以正常工作,但我需要它在不同的测试中。有没有办法不去VS而专注于应用程序 以下是这些方法: [TestMethod] public void _01_Test_45040_AddProjectButtonCl
[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;
}
[TestMethod]
公共无效_01_测试_45040_添加项目按钮单击()
{
//ai.LeftPanelProjects.AddProjectButton.Click();
WpfButton btnAddProj=CommonActions.GetControl(应用程序,“AddButton”);
btnAddProj.ClickField();
}
[测试方法]
公共无效_02_测试_45041_类型项目名称()
{
WpfEdit txtProjName=CommonActions.GetControl(应用程序,“NewProjectTextBox”);
txtProjName.Text=projectName;
}
UPD:如果使用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;
}
[TestMethod]
公共无效_02_测试_45041_类型项目名称()
{
WpfButton btnAddProj=CommonActions.GetControl(应用程序,“AddButton”);
WpfEdit txtProjName=CommonActions.GetControl(应用程序,“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;
}
[TestMethod]
公共无效_01_测试_45040_添加项目按钮单击()
{
//ai.LeftPanelProjects.AddProjectButton.Click();
WpfButton btnAddProj=CommonActions.GetControl(应用程序,“AddButton”);
btnAddProj.ClickField();
//调用第二个方法
_02_测试_45041_类型项目名称();
}
[测试方法]
公共无效_02_测试_45041_类型项目名称()
{
WpfEdit txtProjName=CommonActions.GetControl(应用程序,“NewProjectTextBox”);
txtProjName.Text=projectName;
}
可能您设置了一些断点?没有。它完全在测试完成后发生,即使是在“运行测试”模式下,而不是在“调试测试”模式下。所以它不是由断点引起的。你能给我看看你的代码吗?如果不查看它的代码并在第一条消息中添加代码,就很难预测。我认为这是因为testmethod属性。试着把它去掉,我想这是唯一的办法。谢谢。那样的话,我就不能只开始第一次测试了。而且,我认为这不是一个好的做法。