我正在设置性能测试并正在测试上传功能的性能。我想现在测试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());
}
答案 0 :(得分:0)
我只是使用预定的任务线程 - 我不做C#但可能与this类似。
您可以一次性启动所有WebDriver实例(5个可能是您真正希望在一个实例中运行的最多)。一旦他们准备就绪,并且您正在测试的页面已经完全加载,请为每个执行实际上传的页面创建一个单独的任务线程。
然后简单地安排所有任务线程以固定偏移(或在固定时间,例如将来一秒)运行。这应该会在几毫秒内完成,并且可能与使用真实浏览器的情况一样接近同步。