c# - 使用 Selenium Visual 进行并行测试
问题描述
我正在尝试使用硒进行并行测试。我正在做的是复制和粘贴测试类,因为我希望我的测试被执行。然后我只是按运行所有测试,它工作正常,但我想知道我是否可以在一个类中多次运行一种方法,而不是复制和发布它。有没有办法做到这一点?
解决方案
该解决方案基本上取决于您使用的测试框架。NUnit 从 3.7 版本开始支持并行测试执行。演示该想法的示例如下
using NUnit.Framework;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
namespace ConsoleApp1
{
[TestFixture]
public class Dummy
{
static TestCaseData Case(int i)
=> new TestCaseData(TimeSpan.FromSeconds(2)).SetName($"Case {i}");
public static IEnumerable<TestCaseData> Cases()
=> Enumerable.Range(1, 5).Select(Case);
[TestCaseSource(nameof(Cases)), Parallelizable(ParallelScope.Children)]
public void ItShouldSleep(TimeSpan t)
=> Thread.Sleep(t);
static TestCaseData Case2(int i)
=> new TestCaseData(TimeSpan.FromSeconds(2)).SetName($"Case2 {i}");
public static IEnumerable<TestCaseData> Cases2()
=> Enumerable.Range(1, 5).Select(Case2);
[TestCaseSource(nameof(Cases2)), Parallelizable(ParallelScope.Children)]
public void ItShouldSleep2(TimeSpan t)
=> Thread.Sleep(t);
}
[TestFixture()]
public class Dummy2
{
static TestCaseData Case(int i)
=> new TestCaseData(TimeSpan.FromSeconds(2)).SetName($"Case {i}");
public static IEnumerable<TestCaseData> Cases()
=> Enumerable.Range(1, 5).Select(Case);
[TestCaseSource(nameof(Cases)), Parallelizable(ParallelScope.Children)]
public void ItShouldSleep(TimeSpan t)
=> Thread.Sleep(t);
}
}
推荐阅读
- windbg - 查看运行应用程序时使用的确切命令
- machine-learning - 我应该使用修改后的 Z 分数公式来标准化我的数据吗
- javascript - 在异步存储中保存多个值
- authentication - 安全地设计“注册前试用”系统
- python - 使用自定义图例绘制单点散点图
- machine-learning - ValueError: x and y must be the same size,机器学习使用sklearn做线性回归
- php - 使用 Laravel Eloquent 上的连接计算来自不同表的行数
- c - 联合内部的结构
- python - 在对示例进行训练后,神经网络损失增加是否正常?
- android - java.lang.SecurityException:权限拒绝:打开提供程序 com.android.providers.calendar.CalendarProvider2