我有一个 MVC3 Web 应用程序,它已经发展到我想开始自动化一些功能测试的程度。因此,我一直在尝试将编码的 UI 测试添加到我放入单元测试的同一项目中。除了沮丧,什么也没有。
我已经能够记录一系列简单的步骤:登录应用程序。
我能够生成代码,并且可以在名为 UIMap.Designer.cs 的文件中看到生成的代码。该类的实例被实例化,并在我命名为 LoginTest.cs 的文件中调用测试方法。
当我尝试右键单击 LoginTest.cs 中的 [TestMethod] 并选择“运行测试”时,我最初收到以下错误:
Unable to load the test container 'C:...\WebRole.Tests.dll' or one of its dependencies. Error details: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
因此,我将以下引用从 Copy Local = false 翻转为 true:
- Microsoft.VisualStudio.TestTools.UITesting
- Microsoft.VisualStudio.TestTools.UITest.Extension
- Microsoft.VisualStudio.QualityTools.CodedUITestFramework
现在,当我运行测试时,我得到以下输出:
Testing started:
Total tests: 1, filtered: 1
No tests found.
Duration : 94.9989452249951
浏览器实例未启动。 Azure 计算模拟器和 Azure 存储模拟器均未启动。该应用程序未打包和部署。简而言之,当我运行应用程序时发生的所有事情似乎都没有发生。因此,我对 UI 测试如何运行感到困惑,因为 Azure 模拟器环境未运行。
为了解决这个问题,我尝试打开两个 VS2010 实例。首先,我像往常一样运行应用程序以运行 Azure 模拟器并部署应用程序。在第二个中,我运行了 CodedUITest 方法。结果相同。
现在,我被困住了。其他人是否能够针对 Azure SDK v1.4 提供的 Azure 模拟器运行编码的 UI 测试?
最佳答案
这对于OP来说可能太晚了,但可能会帮助其他遇到类似问题的人(几个小时前就是我)。
警告:我是 CodedUI 的新手,因此这可能不是执行此操作的正确方法。但至少它让我开始了。
我也遇到过类似的情况:Azure 1.4,ASP.NET MVC(在我的例子中是 2)Web 应用程序。我想启动一套可以在桌面开发环境 (VS2010 Premium) 中运行的 UI 测试。
以下是让我开始的步骤: 1. 记录一些 CodedUI 测试 - 这样您就可以看到正在运行的东西,以证明您能够做到这一点。 (我按照以下步骤执行了前几个步骤:http://msdn.microsoft.com/en-us/library/dd286608.aspx)。
开始录制之前打开浏览器并记录启动网络应用程序所需执行的所有操作。
- 将初始化代码添加到测试中以启动浏览器: 在您的编码 UI 测试类中,添加一个带有 [TestInitialize] 属性的方法:
[TestInitialize] public void LaunchBroswer() { BrowserWindow browser = BrowserWindow.Launch(new System.Uri("https://127.0.0.2/Logon")); }
当然,您的 URI 可能会有所不同。这是我从其他帖子中推断出的一点魔力。在折叠的代码区域中使用 TestInitialize 没有帮助。
要运行测试,请启动 Azure 模拟器:Ctrl+F5(这将在浏览器中启动 Web 应用程序,但不运行测试。
您现在可以从启动模拟器的同一 VS 实例运行测试。
关于azure - 如何针对 Windows Azure SDK v1.4 运行编码的 UI 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6454182/