要执行相同的过程,我正在做的是,保持JDBC请求是不同的测试计划。首先执行该测试计划,然后继续登录。
我想执行并保持两个请求是相同的测试计划。 还有一件事如果我在同一个测试计划中为这些请求使用不同的线程组,仍然面临同样的问题。
答案 0 :(得分:0)
Jmeter执行顺序是: -
0-配置元素
1-预处理器
2 - 定时器
3-取样
4-Post-Processors(除非SampleResult为空)
5-Assertions(除非SampleResult为null)
6-Listeners(除非SampleResult为null)
基于以上所述,很明显" csv数据配置"将在JDBC采样器之前首先执行。
我能想到的是,如果您想在同一个线程组中获取用户名/密码,那么您可以使用__setProperty()将用户名和密码设置为属性,并使用__property()获取它。为此,请在JDBC之后使用JSR223 Post Process。 你也可以使用任何其他已知的后期处理器/脚本语言,只是groovy更适合性能测试。
Apache Groovy - Why and How You Should Use It
希望它有所帮助。
答案 1 :(得分:0)
原因是CSV数据集配置是Configuration Element,根据测试元素Execution Order,它在其他任何事情之前被初始化。
我建议使用__CSVRead()函数,JMeter函数在它们被调用时进行评估,这样Test.csv文件将在您从中获取凭据时存在。请参阅Apache JMeter Functions - An Introduction以熟悉JMeter Functions概念。
另请注意,根据Beanshell的JMeter最佳实践it is recommended to switch to JSR223 Test Elements或其他脚本语言。