【发布时间】:2023-03-11 07:41:01
【问题描述】:
在过去 6 个月中,我们的测试团队一直在使用 selenium webdriver 来测试我们基于 Web 的产品。我们已经取得了巨大的成功,并继续每天使用它。我们使用 Visual Studio,因为我们是一个 .net 商店来编写我们的 c# 单元测试。我们不为 .net 使用任何其他测试框架。 直到最近,我们一直通过 Visual Studio (2013) 中的测试资源管理器窗口手动运行自动化测试,检查结果,然后将它们记录到电子表格中。我知道这并不理想,但我们没有那么多测试,所以到目前为止这很适合我们。然而,我们需要编写和维护的自动化测试的数量将在未来几个月内迅速增加。
我最近一直在尝试创建用于调用 vstest.console.exe 及其各种命令的批处理文件,然后将这些日志添加到服务器。不理想。我知道我仍然可以做更多,特别是集成某种 CI 服务器。
我们已经在使用团队基础服务器,并且有各种虚拟服务器(所有运行 Windows 8.1)可供我们使用,所以我考虑利用这一点,所以我开始研究 Jenkins。麻烦的是,我没有找到很多关于 Jenkins 和 c# 的信息。它看起来主要适用于 java 设置。我错过了什么吗?我发现的少量信息严重过时,对我不起作用。
我已经设置并安装了 vstest.console.exe 插件,但无法运行简单的测试。不早于 2012 年的当前分步指南会很棒:) 你们认为 Jenkins 是 c# 和 .net 框架的最佳选择吗? c# 社区中是否使用了“标准”?我听说过巡航控制,我要去看看。它是一个可行的替代方案吗?与 .net 一起使用更容易吗?
这基本上是我们需要的:
- 继续在 Visual Studio 中编写测试并创建 C# 单元测试
- 安排在远程/本地服务器上运行我们的单元测试
- 写出结果/日志文件 - 关于失败/通过的漂亮报告功能会很棒
- 将上述文件通过电子邮件发送给 QA/开发团队
我希望你们中的一些人曾经走过这条路,可以分享一些见解
【问题讨论】:
-
使用 CI 只运行计划的测试似乎有点矫枉过正。使用任务计划程序调用批处理文件会更简单。还有 TFS 本身。此外,Visual Studio 测试运行程序 AFAIK 会输出 trx 文件。不确定将其中一个转换为可读的结果/日志文件有多容易。我很想知道这个问题的答案如何。
-
TFS 已经内置了这个功能。在所有这些之上添加 Jenkins 会增加大量额外的复杂性和重复,而几乎没有收益。正确查看 TFS,它可以开箱即用地完成所有这些工作(尤其是当您使用内置的 MSTest 时)。
-
谢谢大家。将更深入地研究 TFS
-
TFS 很好,另一个(更好,根据我们的构建人员)选项是 Teamcity。
标签: c# unit-testing selenium jenkins selenium-webdriver