如何在微软测试管理器中运行Selenium测试

4

我有一些使用nunit和selenium编写的自动化测试。我该如何从Microsoft Test Manager调用dll来执行测试,因为我无法弄清楚如何从MTM运行自动化测试。这是可能的。

3个回答

4

MTM可以自动化测试。我们可以在Visual Studio中浏览测试用例并将可执行文件附加到测试用例(在MTM中创建)。稍后,我们还必须将构建链接到测试计划以执行自动化测试。如果测试代码未开发为测试项目(CodedUI或Unit test),则测试经理将无法检测到要测试的方法。


3
要使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 支持其他测试框架会更容易些,但目前情况并非如此。

-8

MTM不支持自动化测试。它是为手动测试人员设计的工具。它唯一提供的自动化功能是记录/重放测试人员已记录的操作。

如果您想要自动运行Selenium测试,那么可以考虑将NUnit作为构建过程的一部分运行,只需确保构建代理作为交互式进程而不是服务运行,以便Selenium可以访问桌面并运行浏览器。

或者,您可以考虑使用无头浏览器,例如XBrowser或HTMLUnit(但您需要使用Selenium2远程驱动程序)。


非常感谢。这真的让我很清楚了。只剩下一个问题,测试代理的角色是什么?它们是否必要作为构建过程中运行Selenium测试的一部分,还是我们只需要构建代理来运行脚本。 - sam
1
Microsoft Test Manager可以为关联的自动化与手动测试用例排队进行自动化测试运行(这样它们就变成了自动化而不是手动执行)。我不确定Selenium是否支持Visual Studio测试类型,但您可以始终使用Visual Studio测试框架构建一个包装类来执行特定的Selenium测试。 - Ed Blankenship
2
嘿,Ed,我不认为手动触发自动化测试和运行自动化测试是一样的。对我来说,涉及到人类的因素就不能算作自动化了 :-) @sam 话虽如此,正如Ed所建议的那样,你可以使用编码UI测试来包装Selenium测试,但这意味着要使用MSTest而不是NUnit。如果有帮助的话,我有一篇博客文章展示了如何使用Watin而不是Selenium来实现这一点,链接为http://www.richard-banks.org/2010/11/how-to-use-codedui-tests-watin-and-mtm.html。 - Richard Banks
我同意Ed Richard的看法。您可以从Build或Release Management触发MTM测试的运行。 - MrHinsh - Martin Hinshelwood

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接