2017-10-13 65 views
0

我是新使用Nunit框架,所以我一直在努力研究如何做到這一點。運行測試通過多個環境和瀏覽器與Nunit框架

基本上,我有3個環境:開發,測試,PROD 每個環境具有不同的URL,例如:

  • 開發:www.dev.com
  • 測試:www.test.com
  • PROD:www.prod.com

我想在其上運行的所有三種環境的測試案例,以及通過瀏覽器環路爲Chrome,火狐,IE和邊緣運行它們。

我已經制定了這樣的電流通過代碼每個瀏覽器來運行所有測試:(?)

[TestFixture(typeof(ChromeDriver))] 
[TestFixture(typeof(InternetExplorerDriver))] 
[TestFixture(typeof(FirefoxDriver))] 
[TestFixture(typeof(EdgeDriver))] 

class IntegrationTests 
{ 
    Test.RunAll(); 
} 

[TestFixture(typeof(ChromeDriver))] 
[TestFixture(typeof(InternetExplorerDriver))] 
[TestFixture(typeof(FirefoxDriver))] 
[TestFixture(typeof(EdgeDriver))] 

class SmokeTests 
{ 
    Test.RunAll(); 
} 

從我的理解,你可以再次超載TestFixtures,但我似乎無法找到任何關於它的語法。我似乎也無法找到某個人使用多個URL和瀏覽器循環的實例。任何和所有的幫助,非常感謝!

回答

0

三個不同的URL乘四個瀏覽器會產生十二個不同的燈具實例。你可以通過指定TestFixtureAttribute十二倍,而不是四個,與像條目...

C# [TestFixture(typeof(ChromDriver), "www.dev.com")]

更可能的,但是,你會希望有一個給定的試運行將重點放在無論是開發,測試或督促環境。

在這種情況下,將URL作爲參數傳遞給運行。在控制檯運行器中,您可以使用--params:siteurl=www.dev.com等選項來執行此操作。您的測試將使用TestContext.Parameters訪問該值。

相關問題