c# - Selenium:在初始化中获取实际测试方法的名称

标签 c# selenium testing

如何在 TestInitialize 中获取下一个测试方法的名称?我需要知道下一个测试方法的名称,因为我想在 BrowserStack 中设置实际测试方法的“名称”。 这是我的代码:

        [TestInitialize]
        public void BeforeAll()
        {
            DesiredCapabilities bsCapabilities = new DesiredCapabilities();
            bsCapabilities.SetCapability("name", /*name*/);
            bsCapabilities.SetCapability("os", "Windows");
            bsCapabilities.SetCapability("os_version", "8");
            bsCapabilities.SetCapability("browser", "Firefox");
            bsCapabilities.SetCapability("browser_version", "33.0");
            bsCapabilities.SetCapability("resolution", "1024x768");               
            DataCollection.Driver = new RemoteWebDriver(
                new Uri("http://hub.browserstack.com/wd/hub/"), bsCapabilities
            );            
            DataCollection.Driver.Navigate().GoToUrl(root_site);
            DataCollection.Driver.Manage().Window.Maximize();
        }

        [TestMethod]           
        public void ValidLoginTest()
        {                            
            LoginPage LP = new LoginPage();           
            LP.FillForm("agileway", "testwise");
            Assert.IsTrue(Get.Element(FindBy.Id, "flash_notice").Displayed);
        }

在初始化中我想要第一行是这样的:

bsCapabilities.SetCapability("name", "ValidLoginTest");

最佳答案

如果您使用 NUnit 框架来运行您的测试,您应该能够使用 TestContext对象以获取当前正在运行的测试的名称。使用类似的东西

TestContext.CurrentContext.Test.Name

我已经在测试的 TearDown 方法中使用它并取得了很好的效果,并且刚刚在 SetUp 方法中使用了它,这也很有效。

如果您不使用 NUnit,那么也许可以看看 TestContext类,这可能有一个您可以使用的属性,例如 TestName。

关于c# - Selenium:在初始化中获取实际测试方法的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37987852/

相关文章:

php - ImageMagick 安装,真还是假,如何检查? PHP

c# - 将搜索添加到 linq 查询

c# - 用于根据模式将字符串拆分为两个集合的正则表达式

c# - 如何将此文件加载到 NUnit 测试中?

javascript - 如何在 Protractor 中等待后端?

java - 使用 webdriver 捕获背景屏幕截图

scala - 将用于Scala的µTest(微型测试)集成到Gradle项目中

testing - Active Directory - 测试用户和组

c# - 没有可用的来源

java - 通过系统属性检查是否安装了 FirefoxDriver 或 ChromeDriver?