我是 C# 和 Selenium 的初学者。我想知道是否可以在不关闭的情况下在同一个浏览器实例中运行多个 [TestMethod]-s?
例如“Can_Change_Name_And_Title”完成后,我想继续“Can_Change_Profile_Picture”。
[TestMethod]
public void Can_Change_Name_And_Title()
{
SidebarNavigation.MyProfile.GoTo();
ProfilePages.SetNewName("John Doe").SetNewTitle("New Title Test").ChangeNameTitle();
}
[TestMethod]
public void Can_Change_Profile_Picture()
{
SidebarNavigation.MyProfile.GoTo();
ProfilePages.SetNewProfilePicture(Driver.BaseFilePath + "Profile.png").ChangeProfilePicture();
}
最佳答案
看起来您需要测试链,但让测试依赖于其他测试表明存在设计缺陷。然而,有一些方法可以实现这一目标。您可以创建有序的单元测试,这基本上是确保测试顺序的单个测试容器。
这是关于 MSDN 的指南,或者您可以使用播放列表
Right click on the test method -> Add to playlist -> New playlist
执行顺序将在您将它们添加到播放列表时执行,但如果您想更改它,您有文件
如果您需要在执行期间保留测试数据/对象,您可以使用一些全局变量。我正在使用这样的 TestDataStore:
private Dictionary<string, yourObjData> _dataStore = new Dictionary<string, yourObjData>();
因此您可以随时添加和检索您需要的内容(包括您的 session 详细信息、网络驱动程序等)。
关于c# - 如何在不关闭同一浏览器实例的情况下运行多个测试方法(C#、SeleniumWebDriverz NUnit)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31940746/