在Selenium C#Visual Studio中同时启动一行代码

时间:2016-02-11 15:42:50

标签: c# visual-studio selenium

我正在设置性能测试并正在测试上传功能的性能。我想现在测试5个用户同时点击上传按钮时的性能。我不知道如何实现这样做的方法。以下是我为一个用户设置的测试。

    [Test]
    [Category("PerfSingleUser")]
    public void PerfSingleUserUploadLargeDataSet()
    {
        driver.GoToHomePage();

        DateTime startDateTime = DateTime.Now;
        var sw = Stopwatch.StartNew();
        UploadFiles();
        sw.Stop();

        //Logging of performance results
        var testDesc = string.Format("Time for ALEX to upload a large data set (AC2Q15Files) in a {0} browser", Browser.GetType());
        StoreResultsInCSV(startDateTime, testDesc, elapsed);

        Assert.IsTrue(sw.Elapsed < TimeSpan.FromSeconds(20), "Uploading large data set, AC2Q15Files, in a {0} browser exceeded" +
             "20 seconds", browser.GetType());
    }

1 个答案:

答案 0 :(得分:0)

我只是使用预定的任务线程 - 我不做C#但可能与this类似。

您可以一次性启动所有WebDriver实例(5个可能是您真正希望在一个实例中运行的最多)。一旦他们准备就绪,并且您正在测试的页面已经完全加载,请为每个执行实际上传的页面创建一个单独的任务线程。

然后简单地安排所有任务线程以固定偏移(或在固定时间,例如将来一秒)运行。这应该会在几毫秒内完成,并且可能与使用真实浏览器的情况一样接近同步。