Selenium,为每个并行登录设置唯一用户

时间:2017-01-30 13:19:30

标签: c# selenium nunit

我已经使用Selenium和Nunit为Web应用程序实现了并行测试,并希望以某种方式为每个测试使用唯一用户。我想可能会为用户填写一个字典,每个字符值为1,然后在每次使用用户时更新字典值,以便下一个测试使用第一个可用用户的值为1。但这不适合我。任何人都可以推荐任何其他可能性来实现这一目标吗?

问候

1 个答案:

答案 0 :(得分:1)

我认为根本原因问题出在你的Fixture策略中。如果您确实需要每个测试的唯一用户,则不需要保留已使用过的用户。我建议您查看Fresh Fixture模式或使用最适合您的any of the others模式。依赖于其他测试的测试是众所周知的测试/代码气味。您已经将测试并行运行,为什么要返回并依赖于特定的执行顺序(再次依赖)!?

如果你还需要

  

我想可能会为用户填写一个字典,每个字符值为1,然后在每次使用用户时更新字典值,以便下一个测试使用第一个可用用户的值为1。

您可以查看Object pool模式,因为它允许您:

  

池的客户端将从池中请求对象并对返回的对象执行操作。当客户端完成后,它会将对象返回到池而不是销毁它;

由于您在.Net堆栈上,请考虑使用ConcurrentDictionary