gpt4 book ai didi

c# - Consecutive verse 并行 Nunit 测试

转载 作者:行者123 更新时间:2023-11-30 17:02:25 26 4
gpt4 key购买 nike

我的办公室大约有大约 300 个网页,应该定期对其进行测试。我在 Visual Studio 2010 中使用 Nunit、Selenium 和 C#。我使用了这个 framework作为基础,我确实进行了一些工作测试。

我遇到的问题是,当我运行整个套件时。在每次运行中,随机测试将失败。如果它们单独运行,它们都会通过。我的猜测是 Nunit 试图同时运行所有 7 个测试,而浏览器由于明显的原因不能支持它。目测浏览器,好像确实是这样。

查看下面的屏幕截图,我需要找出一种方法让 Index_Tests 下的测试按顺序运行,而不是并行运行。

enter image description here

错误:

Selenium2.OfficeClass.Tests.Index_Tests.index_4:
OpenQA.Selenium.NoSuchElementException : Unable to locate element: "method":"id","selector":"textSelectorName"}

Selenium2.OfficeClass.Tests.Index_Tests.index_7:
OpenQA.Selenium.NoSuchElementException : Unable to locate element: "method":"id","selector":"textSelectorName"}

一个测试的例子:

using OpenQA.Selenium;
using NUnit.Framework;

namespace Selenium2.OfficeClass.Tests
{
[TestFixture]
public class Index_Tests : TestBase
{
public IWebDriver driver;

[TestFixtureSetUp]
public void TestFixtureSetUp()
{
driver = StartBrowser();
}

[TestFixtureTearDown]
public void TestFixtureTearDown()
{
driver.Quit();
}

[Test]
public void index_1()
{
OfficeClass index = new OfficeClass(driver);
index.Navigate("http://url_goeshere");
index.SendKeyID("txtFiscalYear", "input");
index.SendKeyID("txtIndex", "");
index.SendKeyID("txtActivity", "input");
index.ClickID("btnDisplay");
}
}
}

最佳答案

NUnit 通常并行运行测试。然而,对许多测试使用相同的 Web 驱动程序,您可能会在测试之间引入不需要的依赖关系。您描述的行为看起来像是您的浏览器在测试后在后台异步执行了一些事情,这有时可能会影响后面的测试。

我的建议:如果为每个测试设置一个单独的驱动程序太慢,请尝试将您的网络浏览器(驱动程序)置于测试之间定义的初始状态,并确保在每个测试时完成任何异步任务完成。您可以为此使用 [Setup] 和/或 [Teardown] 方法。也许你必须在每次测试后添加一些等待代码。我对 Selenium 了解不多,但可以快速浏览一下文档 here ,有一个 WebDriverWait 示例可能对您有用。

关于c# - Consecutive verse 并行 Nunit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19830187/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com