【问题标题】:Setting up Build Server to run NUnit Selenium Automated tests设置构建服务器以运行 NUnit Selenium 自动化测试
【发布时间】:2012-12-23 12:08:19
【问题描述】:

我被分配了一项任务,即设置构建服务器 (jenkins) 并在构建代理完成构建后运行自动化测试。

我们正在使用 NUnit 和 selenium 来运行自动化测试。

主要关注的是等待时间。假设几个用户签入他们的源代码,运行构建并随后运行自动化测试(可能有数百个)。最好的设置方法是什么,这样每个用户都不必在队列中等待测试结果。另外,我要考虑测试结果报告之类的事情。

我从哪里开始?我什至谷歌什么?

我对这方面的东西很陌生,任何有关这样做的信息都将不胜感激。谢谢

【问题讨论】:

  • 您将不得不在不同的机器(无论是物理的还是虚拟的)上并行运行它们,也许只运行最小的测试并将运行时间较长的测试留到晚上。我不完全确定在每次签入后运行 UI 测试是一个好主意(这是你给的印象)。 UI 集成测试本质上总是很慢,这是野兽的本性。除非你有多个盒子,否则你会占用 CI 服务器的时间,直到它完成。我设置了我们的(刚刚超过 100 个)在晚上运行。解决问题。
  • 关于如何设置的任何信息?

标签: c# selenium build nunit build-automation


【解决方案1】:

您要做的第一件事是将单元测试与集成测试分开。

单元测试应该很快。由于您正在与外部组件交互,因此集成测试显然会更慢。

就配置您的环境而言,要正确地做您想做的事情,您需要研究在主/多从配置中使用 Jenkins。这不是很复杂,但可能需要一些时间来设置。

您最终可能会在 Selenium 中设置多个作业来处理构建过程的每个部分。即,一项进行编译的工作,至少一项运行单元测试的工作,以及至少一项运行集成测试的工作(然后可能是打包或部署工作,具体取决于您想要完成的程度......)。

根据您的整体构建过程有多慢,您可以轻松地为每个组件的集成测试指定一项工作,并在不同的从属机器上同时运行这些工作。然后,父作业可以汇总结果并确定是否通过。

对于报告,您需要安装 HTML Publisher PluginNUnit Plugin。这些插件将允许您将生成的报告与其他构建工件捆绑在一起。

为了向您的团队提供反馈,您还需要查看Wall Display Plugin 以显示工作状态。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 2016-02-15
    • 1970-01-01
    • 2017-10-16
    • 1970-01-01
    • 2018-08-30
    相关资源
    最近更新 更多