c# - 如何在不关闭同一浏览器实例的情况下运行多个测试方法(C#、SeleniumWebDriverz NUnit)?

标签 c# selenium testing selenium-webdriver automated-tests

我是 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

执行顺序将在您将它们添加到播放列表时执行,但如果您想更改它,您有文件

Playlist

如果您需要在执行期间保留测试数据/对象,您可以使用一些全局变量。我正在使用这样的 TestDataStore:

private Dictionary<string, yourObjData> _dataStore = new Dictionary<string, yourObjData>();

因此您可以随时添加和检索您需要的内容(包括您的 session 详细信息、网络驱动程序等)。

关于c# - 如何在不关闭同一浏览器实例的情况下运行多个测试方法(C#、SeleniumWebDriverz NUnit)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31940746/

相关文章:

c# - 数据库连接不工作 - System.Data.SqlClient.SqlException : No process is on the other end of the pipe

c# - FileNotFound 当我使用 Image.FromFile()

python - 如何在Python Selenium中寻址 "Options is not defined error"?

python - Django manage.py 测试

c# - 调试器未附加到进程

python - Selenium 卡在 pyvirtualdisplay 上

python - 如何在 webdriver 中获取元素的当前内容

ipad - 在 iOS 设备上安装开发的应用程序时会出错吗

android - 使用 AndroidViewClient 长按 View

c# - 如何用C#检查asp.net中是否存在域名?