C# 设置生成服务器以运行NUnit Selenium自动测试

C# 设置生成服务器以运行NUnit Selenium自动测试,c#,selenium,build,nunit,build-automation,C#,Selenium,Build,Nunit,Build Automation,我被分配了一项任务,设置一个构建服务器(jenkins),并在构建代理完成构建后运行自动测试 我们正在使用NUnit和selenium来运行自动化测试 主要关注的是等待时间。假设有几个用户签入他们的源代码,运行一个构建,然后运行自动测试(可能有几百个)。最好的设置方法是什么,这样每个用户就不必排队等待测试结果。另外,我还要考虑测试结果报告等。 我从哪里开始?我甚至可以用谷歌做什么 我是这方面的新手,任何关于这方面的信息都将不胜感激。谢谢您要做的第一件事是将单元测试与集成测试分开 单元测试应该是快

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

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

主要关注的是等待时间。假设有几个用户签入他们的源代码,运行一个构建,然后运行自动测试(可能有几百个)。最好的设置方法是什么,这样每个用户就不必排队等待测试结果。另外,我还要考虑测试结果报告等。 我从哪里开始?我甚至可以用谷歌做什么


我是这方面的新手,任何关于这方面的信息都将不胜感激。谢谢

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

单元测试应该是快速的。集成测试显然会比较慢,因为您正在与外部组件交互

至于配置您的环境,为了正确完成您正试图完成的任务,您需要研究在主/多从配置中使用Jenkins。这并不十分复杂,但可能需要一些时间来设置

您最终可能要做的是在Selenium中设置许多作业来处理构建过程的每个部分。也就是说,一个作业要进行编译,至少一个作业要运行单元测试,至少一个作业要运行集成测试(然后可能是打包或部署作业,具体取决于您希望进行的程度)

根据您的整个构建过程有多慢,您可以轻松地为每个组件的集成测试安排一个作业,并在不同的从机上并发运行这些测试。然后,父作业可以聚合结果并确定小鸡是否通过

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


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

您必须在不同的机器(无论是物理机器还是虚拟机器)上并行运行作业,可能只运行最小的测试,并将运行时间较长的测试留到晚上。我不完全确定在每次签入后运行UI测试是一个好主意(这是您给人的印象)。UI集成测试总是天生缓慢,这是怪兽的本性。除非有多个框,否则将占用CI服务器的时间,直到完成为止。我把我们的(刚刚超过100)安排在晚上跑步。解决了问题。有关于如何设置的信息吗?