1

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

我对服务做了类似的事情,我在服务主机中以编程方式启动了测试所需的每个服务。这使我能够在服务实例化之前操纵 IoC 容器。

我想要我的 MVC 控制器有类似的东西。有没有人对 MVC 4 中的这种测试有任何经验?

4

1 回答 1

2

查看Selenium WebDriver

这是Chrome 驱动程序的示例:

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"));
        }
    }
}
于 2012-10-22T20:16:44.990 回答