用SpecFlow验收测试MVC4网站

时间:2012-10-22 12:57:51

标签: asp.net-mvc c#-4.0 bdd specflow gherkin

我想编写验收测试,使用SpecFlow(Gherkin)来验证不同的场景。特别是我想验证登录过程,它使用持久性cookie和sessionstate。

我已经完成了类似于服务的工作,我在servicehost中以编程方式启动了测试所需的每项服务。这使我能够在实例化服务之前操作IoC容器。

我想要类似于我的MVC控制器。有没有人在MVC 4中有过这种测试的经验?

1 个答案:

答案 0 :(得分: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"));
        }
    }
}