当前位置: 首页 > 知识库问答 >
问题:

Visual Studio Web 性能测试 - 是否可以使非编码的 Web 测试并行执行请求

邹开畅
2023-03-14

使用Visual Studio 2013旗舰版进行负载测试。

我面临的主要问题是 Web 性能测试按顺序执行所有包含的 Web 请求。这不是浏览器的工作方式(而是使用多个并行线程)。

简化示例

  • 调用页面(1秒)
  • AJAX调用1(1秒)
  • AJAX调用2(1秒)
  • AJAX调用3(1秒)

浏览器将同时执行所有 AJAX 调用,并在 2 秒内完成页面。

Web 性能测试按顺序执行它们(一次执行一个),并报告测试需要 4 秒才能完成。

我知道我可以使用Coded Web测试来并行执行这些操作,但如果可能的话,我想坚持使用工具。

这可能吗?

共有1个答案

宗政博
2023-03-14

将请求添加为另一个请求的从属请求。

创建不加载任何有用内容的顶级请求。我一直在使用“http://localhost/类似的。将此请求的“分析从属请求”和“遵循重定向”属性设置为false。这是为了避免测试套件添加更多请求。将要并行执行的请求作为显式从属请求添加到此顶级请求。

浏览器的工作方式是提取依赖请求的列表,然后同时发送其中几个请求,以便并行处理。当收到对这些请求的响应时,将发送列表中的其他请求。这会一直持续到列表为空。并行发出的请求数取决于浏览器(可能由用户或计算机的配置数据修改)。Visual Studio在模拟浏览器时使用的并行性可以在目录C:\Program files(x86)\Microsoft Visual Studio 12.0\Common7\IDE\Templates\LoadTest\browsers(根据Visual Studio版本和安装目录的需要进行修改)中的文件中的MaxConnectionsvalues中看到。另请参见《Visual Studio性能测试快速参考指南》(3.6版)第45页的顶部,该指南暗示没有明确的MaxConnections值的“.browser”文件仅支持两个连接。

可能要并行完成的请求之一作为顶级请求会更好。

 类似资料:
  • 问题内容: 如果是跑它运行在您的文件结尾通过运行启动格式的功能和使用(* T testing.T)模块。我想知道文件中的每个功能是同时运行还是确定地分别运行每个功能?是否为每个人创建一个执行例程?如果确实为每个例程创建了一个go例程,是否可以某种方式监视go例程?是否有可能做类似的事情并为每个实例获取一个实例并对其进行监控,诸如此类? 注意:这个问题假设您使用go(测试)随附的测试框架。 问题答案

  • 有4个类包含测试< code>TestClass1、TestClasss2、TestClass3、TestClass4。您需要创建2个测试套件,每个套件将包含2个类,并使用< code>Maven surefire插件并行运行它们。 我创建了两个包含以下内容的xml文件: 和 也添加到: 接下来,我用命令< code>mvn clean test运行项目,项目将要运行,但是测试没有开始。我哪里错了

  • 我使用testNg用于使用java的自动化,我使用从excel获取数据并作为参数传递给测试脚本。 假设我在中有10行数据,我的测试用例将按顺序执行10次,但现在我想并行运行这10个测试,同时使用线程。 这能做到吗?如果是的话,有人能给我一个同样的例子吗?

  • 22.13.1.执行测试 测试从main构建过程中分离出来的,运行在一个单独的JVM中执行.Test任务允许控制这些如何发生. 有许多属性用于控制测试过程如何启动.这包括使用诸如系统属性,JVM参数和Java可执行文件。 可以指定是否要并行执行测试.Gradle通过同时运行多个测试进程提供并行执行测试.每个测试进程在同一时间只能执行一个测试,为了充分利用这一特性,一般不需要为tests任务做什么特

  • 我已经为Jenkins项目的集成公司建立了一个PoC,当Git存储库中有一个检查时,该PoC将构建并执行测试。当测试完成后,Jenkins将更新在Xray for JIRA中管理的测试。 测试是用cucumber写的。我曾徒劳地试图导致一个单一的测试产生一个失败,只是为了能够将它添加到我将要给高层管理人员的演示中。 以下是我的文件helloworld.feature的内容: 我知道不知道小cucu

  • 我正在将并行执行引入我的testNG套件中。当我将“parallel”设置为“tests”时,两个浏览器打开,两个测试的第一个类同时开始--这是我所期望的。当我将其设置为“classes”时,我希望第一个测试中的两个类同时开始,但是只有一个浏览器打开,第一个类中的第一个方法执行,然后用第二个类中的第一个方法打开一个新的浏览器,依此类推。谁能告诉我我做错了什么? 下面是我的xml文件: