【问题标题】:Selenium Tests running twice with XUnit使用 XUnit 运行两次的 Selenium 测试
【发布时间】:2022-12-18 00:40:55
【问题描述】:

我正在用 XUnit 编写 Selenium 测试。当我运行它们时,它们总是被执行两次。它们第一次运行时,我看到它们正在测试资源管理器中运行,但第二次在测试资源管理器中它们似乎已经完成,但仍有新的浏览器选项卡打开并再次开始相同的测试。在关于 stackoverflow 的其他问题中,我只看到当你两次拥有包 xunit.runner.visualstudio 时它可能会发生,但事实并非如此。我该怎么做才能停止让我的测试运行两次?

我的包裹

  • coverlet.collector (3.1.2)
  • Microsoft.NET.Test.Sdk (17.3.2)
  • Selenium.WebDriver (4.7.0)
  • xunit (2.4.2)
  • xunit.runner.visualstudio (2.4.5)

我是如何编写测试的

using OpenQA.Selenium.Interactions;
using SeleniumTests.Extensions;

namespace SeleniumTests.Tests;

[Collection("Sequential")]
public class MyTests : IDisposable
{
    private readonly IWebDriver _driver;

    public MyTests()
    {
        _driver = new FirefoxDriver();
    }

    public void Dispose()
    {
        _driver.Quit();
        _driver.Dispose();
    }

    [Fact]
    public void DoSomething_Success()
    {
        // Arrange
        var act = new Actions(_driver);
        var submitButtonXPath = "/html/body/modal-container/div/div/div[2]/div[1]/form/div[5]/div/button[2]";

        _driver.Navigate().GoToUrl(Consts.FIXPLANUNG_URL);
        _driver.MicrosoftLogin("MyEMail", "MyPassword");

        // Act
        var emptyFieldXPath = FindBookingFieldXPath();
        if (string.IsNullOrWhiteSpace(emptyFieldXPath))
        {
            Assert.Fail("No free booking field was found");
        }

        var bookingField = _driver.FindElement(By.XPath(emptyFieldXPath));

        act.DoubleClick(bookingField).Perform();

        _driver.FindElement(By.Id("project-input-field")).SendManyKeys(Consts.DUMMY_PROJECT);
        Thread.Sleep(1000);
        _driver.FindElement(By.XPath(submitButtonXPath)).Click();
        Thread.Sleep(2000);

        var result = _driver.FindElement(By.XPath(emptyFieldXPath)).Text;

        // Assert
        Assert.NotNull(result);
        Assert.Equal(result, Consts.DUMMY_PROJECT);
    }

}

【问题讨论】:

    标签: c# selenium xunit


    【解决方案1】:

    我认为不可能只运行一次测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-20
      • 1970-01-01
      • 1970-01-01
      • 2019-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多