簡體   English   中英

如何在 C# 中使用 Selenium 在多個線程上並行運行相同的測試?

[英]How can I run the same test on multiple threads in parallel using Selenium in C#?

本質上,我有 1 個要同時在多個線程上運行的測試。 目前我發現唯一要做的就是為我想運行的每個線程重寫測試,所以如果我希望它並行運行 10 次,我必須編寫 10 個測試。

我正在嘗試通過使用 selenium 和 C# 打開多個實例並嘗試填寫表單,在網站上進行一些小的負載測試。 我也在嘗試測試注冊已滿時的競爭條件

[TestFixture]
[Parallelizable]
class TournamentPageScript1
{
    public static IWebDriver driver = new ChromeDriver();

    public static IWebDriver getDriverInstance()
    {
        return driver;
    }

    [SetUp]
    public void initialize()
    {
        driver.Navigate().GoToUrl("https://mywebsite.com");            
    }

    [Test]
    public void validateTournamentPage001()
    {
        //do some stuff
    }

    [TearDown]
    public void tearDown()
    {
        driver.Close();
    }
}
[TestFixture]
[Parallelizable]
class TournamentPageScript2
{
    public static IWebDriver driver = new ChromeDriver();

    public static IWebDriver getDriverInstance()
    {
        return driver;
    }

    [SetUp]
    public void initialize()
    {
        driver.Navigate().GoToUrl("https://mywebsite.com");            
    }

    [Test]
    public void validateTournamentPage002()
    {
        //do some stuff
    }

    [TearDown]
    public void tearDown()
    {
        driver.Close();
    }
}

我只想編寫測試 1 次,並讓 Selenium 在多個線程上並行重復測試。

是的,Selenium 在多線程上運行良好。 但是,如果您試圖讓 Selenium 在完全相同的時間提交表單,您將必須擁有足夠快的處理器來“同時”運行所有線程,這可能很困難,因為 Selenium 有點重。 因此,簡而言之,多個 selenium 實例同時運行良好,但您必須查看是否可以實際達到適合您情況的速度。

相關: C# 多線程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM