我想用Visual Studio进行负载测试,但我不知道如何使用经过身份验证的用户设置负载测试。
想象一下我的情景。这应该是一个非常普遍的问题:
到目前为止我做了什么:
更新:我的Selenium测试类:我想在负载测试中使用此代码。 这是一个数据驱动的单元测试项目,您可以在方法TestCase4529上看到
[TestClass]
public class Scenario2
{
private IWebDriver driver;
public TestContext TestContext { get; set; }
[TestInitialize]
public void SetupTest()
{
this.driver = new ChromeDriver();
this.driver.Manage().Timeouts().ImplicitWait = new TimeSpan(0, 0, 30);
}
[TestCleanup]
public void TeardownTest()
{
this.driver.Quit();
}
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\\4529.csv", "4529#csv", DataAccessMethod.Sequential), DeploymentItem("4529.csv"), TestMethod]
public void TestCase4529()
{
var userName = TestContext.DataRow["UserName"].ToString();
var password = TestContext.DataRow["Password"].ToString();
// UI Test logic
var loginPage = new LoginPage(this.driver);
loginPage.FillForm(userName, password);
loginPage.LoginButton.Click();
// Some assertions
}
}
现在当我在Visual Studio中设置负载测试时,我被问到有多少用户应该做些什么:
我没有得到这个数字意味着什么:
我想要实现的目标:
可能有人给我一个想法,如何做到这一点,或者我在想什么错......
Visual Studio负载测试提供了一种重复并同时运行其他测试的方法。它最适合Web性能测试,但它可以运行单元测试和编码UI测试。
当选择(例如)25个用户的“恒定负载”时,将启动从负载测试的“测试混合”中选择的25个测试用例。每当其中一个测试用例结束时,将选择并启动另一个测试,以便始终执行25个测试用例。这将持续到测试运行结束,通常是测试持续时间或迭代次数。 (这里“迭代”表示执行的测试用例数。)
假设正在使用“Web性能测试”,那么这些测试负责提供用户身份验证。一种常见的方法是数据驱动测试并在该数据中提供用户名和相应的密码。见here for more detail。
您怀疑25个用户的“恒定负载”是否意味着25个线程。这意味着25个测试用例将同时运行,但它不使用Windows线程。
回应评论:
我认为你误用或误解了微软测试环境的术语。您可以在负载测试的测试组合中进行Selenium测试,尽管我从未做过。用户计数和数据源是独立项。用户数是关于有多少模拟用户同时运行测试。测试用例使用数据源。如果您有25个用户和一个数据驱动测试,那么该测试应该启动25次,这25次执行应该使用数据源的前25行(假设使用Sequential
或Unique
访问方法)。