3

我有一个 MVC3 Web 应用程序,它已经发展到我想开始自动化一些功能测试的地步。因此,我一直在尝试将编码的 UI 测试添加到我放入单元测试的同一个项目中。无非是无奈。

我已经能够记录一系列简单的步骤:登录应用程序。

我能够生成代码,并且可以在名为 UIMap.Designer.cs 的文件中看到生成的代码。实例化了这个类的一个实例,并在我命名为 LoginTest.cs 的文件中调用了测试方法。

当我尝试右键单击 LoginTest.cs 中的 [TestMethod] 并选择运行测试时,我最初收到以下错误:

无法加载测试容器“C:...\WebRole.Tests.dll”或其依赖项之一。错误详细信息:System.IO.FileNotFoundException:无法加载文件或程序集“Microsoft.VisualStudio.TestTools.UITesting,Version=10.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。该系统找不到指定的文件。

因此,我将以下引用从 Copy Local = false 翻转为 true:

  • Microsoft.VisualStudio.TestTools.UITesting
  • Microsoft.VisualStudio.TestTools.UITest.Extension
  • Microsoft.VisualStudio.QualityTools.CodedUITestFramework

现在,当我运行测试时,我得到以下输出:

测试开始:

总测试:1,过滤:1

未找到任何测试。

时长:94.9989452249951

浏览器实例未启动。Azure Compute 和 Azure Storage 模拟器均未启动。应用程序未打包和部署。简而言之,我运行应用程序时发生的任何事情似乎都没有发生。因此,我对 UI 测试如何运行感到困惑,因为 Azure 模拟器环境没有运行。

为了解决这个问题,我尝试打开两个 VS2010 实例。首先,我像往常一样运行应用程序以运行 Azure 模拟器并部署应用程序。第二,我运行 CodedUITest 方法。结果相同。

现在,我被困住了。是否有其他人能够针对 Azure SDK v1.4 提供的 Azure 模拟器运行编码 UI 测试?

4

2 回答 2

0

这对于 OP 来说可能为时已晚,但可能会帮助其他有类似问题的人(几个小时前是我)。

警告:我是 CodedUI 的新手,所以这可能不是正确的方法。但至少它让我开始了。

我遇到了类似的情况:Azure 1.4,ASP.NET MVC(在我的例子中是 2)Web 应用程序。我想开始一套 UI 测试,我可以在我的桌面开发环境(VS2010 Premium)中运行。

以下是让我开始的步骤: 1. 记录一些 CodedUI 测试——这样你就可以看到运行的东西来证明你能够做到这一点。(我遵循了前几个步骤:http: //msdn.microsoft.com/en-us/library/dd286608.aspx)。

在开始录制之前打开浏览器并记录启动 Web 应用程序所需的一切。

  1. 将初始化代码添加到测试以启动浏览器: 在 Coded UI 测试类中,添加一个具有 [TestInitialize] 属性的方法:
    [TestInitialize]
    public void LaunchBroswer()
    {
        BrowserWindow browser = BrowserWindow.Launch(new System.Uri("https://127.0.0.2/Logon"));
    }

当然,您的 URI 可能会有所不同。这是我不得不从其他一些帖子中推断出的一点魔力。在折叠的代码区域中使用 TestInitialize 并没有帮助。

  1. 要运行测试,请启动 Azure 模拟器:Ctrl+F5(这将在浏览器中启动 Web 应用程序,但不运行测试。

  2. 您现在可以从启动模拟器的 VS 实例运行测试。

于 2011-12-09T16:28:06.977 回答
-1

您遇到的痛苦不仅与 Azure 有关,而且与整个 IMHO 的编码 UI 测试有关。对于 MVC(和 asp.net),有几个工具可以减轻痛苦(而且您不需要编码的 ui 套件)。

你试过SpecFlowWatiN吗?甚至还有一个可以从 Nuget 使用的包,它是作为MVCContrib库的一部分构建的。

希望它可以帮助您测试 UI。

结帐 channel9 以获取一些说明,例如:此视频

于 2011-08-10T20:30:26.890 回答