我想并行运行硒测试,并在assembly.cs中设置以下内容。[assembly: Parallelizable(ParallelScope.Fixtures)]好的。这样可行。这是代码结构的简短示例using NUnit.Framework;namespace MyExample{ [TestFixture] [Category("TestsRunningWithLogin1")] public class Test_Example1 { [Test, Order(1)] public void Test1() { } [Test, Order(2)] public void Test2() { } } [TestFixture] [Category("TestsRunningWithLogin2")] public class Test_Example2 { [Test, Order(1)] public void Test1() { } [Test, Order(2)] public void Test2() { } }}测试需要用户名和密码,然后才能在网页中进行操作。当前在OneTimeSetUp方法中处理登录等。该网页将最后使用的视图保存在用户设置中。如果我按顺序运行测试,那么我不会有问题,因为测试不会相互影响。所有测试都可以使用相同的用户名运行。如果并行运行,它们可能会相互影响。比如test1配置了一个view,test2中不应该看到的。我的想法是与不同的用户一起运行类(其中有很多)。测试开始时,它应该使用用户名,并行运行测试当前未使用该用户名。目前,我不知道nunit正在并行运行哪些测试,因此无法直接对其进行参数化。我没有找到如何控制并行测试的任何东西。我可以定义是否并行以及有多少并行执行。我想要的是给并行运行测试参数。如果我有3个并行运行的测试类,则要提供所有3个不同的参数。有什么想法要实现吗?
3 回答
梦里花落0921
TA贡献1772条经验 获得超6个赞
一个没有 nunit 的可能答案是提供参数的小服务。因此,每个并行测试都应调用一个Web服务,并将获得其唯一参数。该网络服务将在每次调用时返回下一个参数集。
如果我要提供10个不同的参数集并并行运行3个测试,则可以肯定的是,这3个并行测试永远不会获得相同的参数。假设所有测试用例几乎都需要相同的时间。
我会称其为hack,因此我正在寻求一个nunit解决方案。
- 3 回答
- 0 关注
- 174 浏览
添加回答
举报
0/150
提交
取消