1

我在 VS2010 上使用编码的 UI 关键字驱动框架来运行我的 Web 应用程序的回归测试套件。最初,我记录了所有操作并为每个页面创建了不同的测试方法,然后使它们由关键字驱动。

我面临的问题是,如果浏览器中的会话或缓存有关于用户的任何最后未保存的信息,则会在主页上显示弹出消息。

我正在使用一种解决方法/替代方法

  1. 在每个测试代理上手动启动测试运行之前清除缓存。
  2. 每次单次迭代完成时关闭浏览器窗口。

这种方法我付出了很多努力,当测试失败时,会话数据仍然存在,这导致所有后续测试用例失败。任何程序化方法\建议将不胜感激。

4

1 回答 1

2

在 TestInitialize 中清除缓存,因此一旦任何测试开始,第一步就是清除缓存然后继续测试。

    #region Additional test attributes


    //Use TestInitialize to run code before running each test 
    [TestInitialize()]
    public void MyTestInitialize()
    {
    // First launch your browser...
        this.UIMap.LaunchBrowserParams.Url = Config.WebServer;
        this.UIMap.LaunchBrowser();
    // This will clear your cache and cookies
        BrowserWindow.ClearCache();
        BrowserWindow.ClearCookies();
    }

    //Use TestCleanup to run code after each test has run
    [TestCleanup()]
    public void MyTestCleanup()
    {
    // Since you're concerned about failed tests not clearing cache at the end
    // I wouldn't bother with clearing the cache at the MyTestCleanup step.
        this.UIMap.CloseBrowser();

    }

    #endregion

编辑:我编辑了 TestInitialize 以首先启动浏览器。在 ClearCache 和 ClearCookies 执行任何操作之前,必须打开浏览器。

于 2013-08-30T15:51:59.633 回答