c# - C# Selenium - 并行执行测试
问题描述
我想并行执行多个测试,这是一些代码。我正在使用 Post 方法,但这不起作用,有人可以帮助我吗?
namespace BusinessLayer.BusinessLogic.UI
{
[TestFixture]
[Parallelizable]
public class nunitlayer : BaseLayer
{
[Test]
public static void test1(IWebDriver driver, WebDriverWait wait, int urlTypeId)
{
LoginLayer.LoginTest(driver, wait, urlTypeId);
}
[Test]
public static void test2(IWebDriver driver, WebDriverWait wait, int urlTypeId)
{
LoginLayer.ArmenianLoginTest(driver, wait, urlTypeId);
}
}
}
case (int)TestType.nunit:
nunitlayer.test1(chrome.driver, chrome.wait, urlTypeId);
break;
解决方案
你有[Parallelizable]
你的测试夹具类,nunitlayer
. 这意味着它将与其他也具有[Parallelizable]
.
如果您希望内部的测试nunitlayer
彼此并行运行,您应该执行以下操作之一:
进行
[Parallelizable]
每个测试而不是夹具...namespace BusinessLayer.BusinessLogic.UI { [TestFixture] public class nunitlayer : BaseLayer { [Parallelizable] [Test] public static void test1(IWebDriver driver, WebDriverWait wait, int urlTypeId) { LoginLayer.LoginTest(driver, wait, urlTypeId); } [Test] [Parallelizable] public static void test2(IWebDriver driver, WebDriverWait wait, int urlTypeId) { LoginLayer.ArmenianLoginTest(driver, wait, urlTypeId); } } }
装
[Parallelizable(ParallelScope.Children)]
上夹具...namespace BusinessLayer.BusinessLogic.UI { [TestFixture] [Parallelizable(ParallelScope.Children)] public class nunitlayer : BaseLayer { [Test] public static void test1(IWebDriver driver, WebDriverWait wait, int urlTypeId) { LoginLayer.LoginTest(driver, wait, urlTypeId); } [Test] public static void test2(IWebDriver driver, WebDriverWait wait, int urlTypeId) { LoginLayer.ArmenianLoginTest(driver, wait, urlTypeId); } } }
这两种方法都会使测试并行运行,但不能保证它们会起作用。您还没有显示测试方法参数的数据来自哪里。您展示了一个案例语句,其中似乎调用了 nunit 测试,但这不是 NUnit 测试的正常运行方式,我们不知道每个测试是否(例如)获得了唯一的驱动程序。IOW,还有很多其他事情可能会出错,我怀疑有很多关于如何运行测试的信息你还没有分享。
推荐阅读
- google-maps - 是否可以查看哪些域正在使用 Google API 密钥?
- php - PHP 图像库。flexbox 的 CSS 问题。只有第一张图片在弹性盒子里
- rust - 不理解此代码上的移动/复制特征错误:Rust
- javascript - 如何在字符串中找到最多 65 个字符的所有单词(完整单词)?
- excel - 如果 Vlookup 返回错误,那么如何递增表数组
- javascript - JavaScript 中的嵌套获取
- excel - 使用 find 搜索整个工作表返回空值
- reactjs - 遗留应用程序中的 React 项目(组件)(在 JSP 和 Java 中)
- php - phpstan:如何处理派生类返回类型
- python - Dask 延迟错误 - AttributeError:“_thread._local”对象没有属性“值”