在运行时添加元素并执行jmeter测试计划

时间:2017-10-27 17:11:10

标签: jmeter

我正在尝试构建一个jmeter测试计划,其中所有测试值都是从csv数据文件发送的。我想在运行时处向我的HTTP请求添加断言(在数据文件中提供)并执行考试。这样做的原因是根据断言的数量保持计划的灵活性。在我的例子中,断言在运行时添加;但他们没有被执行。我是否可以知道如何在同一流程中添加和执行组件例如:计划的一部分如下:

XYZ   --HTTP采样器       - 响应断言1       - 响应断言2       - JSON Extractor

其中XYZ - >基于关键字的事务控制器(可重用组件) 每次我收到XYZ类型的请求时,都会执行这一部分组件。就我而言,我不想在测试计划中放置断言,前/后处理器,提取器等任何内容。我想在运行时生成这些组件并执行它们(根据我的测试要求)。

问题:这里的问题是我无法以编程方式加载组件并在同一个流程中执行。原因是,编译器事先并不知道它需要执行的所有组件,因此它会绕过新添加的组件。

所以,我需要一些替代解决方案来执行此操作。

1 个答案:

答案 0 :(得分:0)

您可以使用Pattern添加Response Assertion(或多个)来测试填充变量// replace apostrophe (') or words without possessive contraction ('s) (Watch, video) with empty string preg_replace("/(?:'|\s?\b\w+\b\s?)(?!'s)/", "", "Watch Sidney's video") // => Sidney 并将该变量默认设置为空,例如 将${testAssert1}名称testAssert1放入空值。

您的断言将一直通过,直到您在运行时将变量设置为不同的值,例如使用User Defined Variables预处理器。