2016-06-23 37 views
1

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"); 

答えて

2

、あなたのテストを実行するためにNUnitのフレームワークを使用している場合は、使用することができるはずTestContextオブジェクトを使用して、現在実行中のテストの名前を取得します。私はテストのティアダウン方式で大きな効果にそれを使用していると、ちょうども働いていた設定方法でそれを使用している

TestContext.CurrentContext.Test.Name 

ようなものを使用。

NUnitを使用していない場合は、TestContextクラスをご覧ください。これには、TestNameなどの使用できるプロパティが含まれている可能性があります。

関連する問題