2012-10-22 72 views
1

我想寫驗收測試,用SpecFlow(小黃瓜)驗證不同的情況。特別是我想驗證登錄過程,它使用持久cookie和sessionstate。驗收測試MVC4網站與SpecFlow

我已經做了一些類似的服務,我在servicehost中以編程方式啓動了測試所需的每個服務。這使我能夠在實例化服務之前操作IoC容器。

我想爲我的MVC控制器類似。有沒有人在MVC 4中有過這種測試的經驗?

回答

2

退房Selenium WebDriver

這裏是Chrome Driver一個例子:

using OpenQA.Selenium; 
using OpenQA.Selenium.Chrome; 
using NUnit.Framework; 

namespace Tests.UI 
{ 
    [TestFixture] 
    public class TestGoogleSearch 
    { 
     IWebDriver _driver; 

     [SetUp] 
     public void Setup() 
     { 
             //path to chrome driver exe 
      _driver = new ChromeDriver(@"C:\MyProject\lib\"); 
     } 

     [TearDown] 
     public void Teardown() 
     { 
      _driver.Quit(); 
     } 

     [Test] 
     public void TestSearchGoogleForTheAutomatedTester() 
     {   
      //Given 

      //When 
      _driver.Navigate().GoToUrl("http://www.google.com"); 
      IWebElement queryBox = _driver.FindElement(By.Name("q")); 
      queryBox.SendKeys("stack overflow"); 
      queryBox.SendKeys(Keys.ArrowDown); 
      queryBox.Submit(); 

      //Then 
      Assert.True(_driver.Title.Contains("stack overflow")); 
     } 
    } 
} 
+0

謝謝回答。但是我沒有在您的設置中看到任何服務器,也無法操作IoC容器。我需要控制服務器以及它初始化mvc網站的方式。我需要從C#方法(testmethod)中獲得dp。 – jand187