我有一些用 nunit 和 selenium 编写的自动化测试。如何调用 dll 从 Microsoft 测试管理器执行。因为我不知道如何从 MTM 运行自动化测试。是否可以。
3 回答
MTM 确实允许自动化测试。我们可以在 Visual Studio 中浏览测试用例并将可执行文件附加到测试用例(在 MTM 中创建)。稍后我们必须将构建链接到测试计划以及执行自动化测试。如果不这样做,测试代码应作为测试项目(CodedUI 或单元测试)开发,这样测试管理器将不会检测到要测试的方法。
要让 MTM 使用 Selenium 运行自动化测试,您需要将测试与 MTM 中的测试用例相关联。目前 MTM 仅支持 MS 测试,因此您需要为每个 selenium 测试构建一个包装器。
解决方案 #1:我将使用 T4 模板构建包装器,该模板生成调用我的 Selenium 测试所需的 MS 测试存根。
然后,您需要在 TFS 中有一个测试用例,并与它关联的 MS 测试“自动化”。
解决方案#2:您可以使用“tcm import”命令行工具来生成测试用例并使您的测试用例与自动化保持同步。
现在您已经配置了所有位,您可以继续从 MTM 调用生成的测试,您遇到了@richard 提到的问题。
解决方案#3:您可以在 MTM 中配置一个环境,您将在其中收集数据并自动触发测试运行。这可以作为构建的一部分完成,或者更好地作为发布管理中二进制管道的一部分 ( http://nakedalm.com/execute-tests-release-management-visual-studio-2013/ )
虽然要完成所有设置有很多麻烦,但我发现这是执行自动化的一种相当稳健的方式。如果 MTM 支持其他测试框架会容易很多,但现在不是这样。
MTM 不运行自动化测试。它是为手动测试人员设计的工具。它提供的唯一自动化是记录/重播测试人员记录的操作。
如果您想自动运行 Selenium 测试,那么将运行 NUnit 作为构建过程的一部分,只需确保构建代理作为交互式进程而不是服务运行,以便 Selenium 可以访问桌面并运行浏览器。
或者,您可以考虑使用无头浏览器,例如XBrowser或 HTMLUnit(尽管您需要使用Selenium2 远程驱动程序)