生成和运行编码的 Web 性能测试

 

发布时间: 2016年7月

通过浏览 Web 应用程序记录 Web 性能测试。 测试包含在负载测试中,用于测量多个用户压力下的 Web 应用程序的性能。 可以将 Web 性能测试转换为基于代码的脚本(你可以像对待任何其他源代码一样对其进行编辑和自定义)。 例如,可以添加循环和分支构造。

生成编码的 Web 性能测试

  1. 如果尚未创建 Web 性能测试,请参阅Record and run a web performance test

  2. 生成编码的测试。

    生成编码的 Web 性能测试

  3. 为测试命名。

    输入编码 Web 性能测试的名称

    新编码的测试将在代码编辑器中打开。

    将在 Visual Basic 或 Visual C# 中生成代码,具体取决于你向解决方案添加了哪个 Web 性能和负载测试项目模板。

    新的编码的测试将在代码编辑器中打开

    你可在代码中看到 C# 中的 GetRequestEnumerator() 方法或 Visual Basic 中的 Run() 方法包括每个验证规则和已记录测试中的 Web 请求。

  4. 若要展示添加一些简单代码的操作,请向下滚动到所选方法的末尾,并在最后一个 Web 请求的代码后面添加以下代码:

    if (DateTime.Today.DayOfWeek == DayOfWeek.Wednesday)
    {
        WebTestRequest customRequest = new WebTestRequest("http://weather.msn.com/");
        yield return customRequest;
    }
    else
    {
        WebTestRequest customRequest = new WebTestRequest("https://msdn.microsoft.com/");
        yield return customRequest;
    }
    
    If DateTime.Today.DayOfWeek = DayOfWeek.Wednesday Then
        Dim customRequest As WebTestRequest = New WebTestRequest("http://weather.msn.com/")
        MyBase.Send(customRequest)
    Else
        Dim customRequest As WebTestRequest = New WebTestRequest("https://msdn.microsoft.com/")
        MyBase.Send(customRequest)
    End If
    
  5. 生成解决方案来验证你的自定义代码是否编译。

  6. 运行测试。

    运行编码 Web 性能测试

    并且因为运行该测试的时间碰巧是星期三…

    编码 Web 性能测试结果查看器

问题解答

问:是否能一次运行多个测试?

**答:**可以,请使用解决方案资源管理器中的上下文菜单。

问:我是否应在生成编码的测试之前和之后添加数据源?

**答:**可在你生成编码的测试之前更轻松地添加数据源,因为将为你自动生成代码。

当你使用数据源运行编码测试时,你可能看到以下错误消息:

Could not run test <Test Name> on agent <Computer Name>: Object reference not set to an instance of an object.

发生此错误的原因是,你有为测试类定义的 DataSourceAttribute,而没有相应的 DataBindingAttribute。 若要纠正此错误,请添加适当的 DataBindingAttribute 并将其删除,或从代码中将其注释掉。

问:我是否应在生成编码的测试之前和之后添加验证和提取规则?

**答:**在你生成编码的测试之前,可以更轻松地添加验证规则和提取规则;但是,我们建议你使用编码的 UI 测试来进行验证。