Jmeter:不从命令行给出的 属性 位置读取 属性

Jmeter: Not reading the property from the property location given from command line

文件:DevEnv.properties

# Development Environment property file
environment.protocol=https
environment.hostname=dev.env.com
environment.port=443
environment.path=api

文件:StagingEnv.properties

# Staging Environment property file
environment.protocol=https
environment.hostname=staging.env.com
environment.port=443
environment.path=stagingapi

使用的命令jmeter -g "StagingEnv.properties" - t "Practice11.jmx";

测试计划结构

Test Plan
    JSR223 PreProcessor
    HTTP Request Defaults
    Thread Group
        jp@gc - Dummy Sampler
View Results Tree

简而言之,值应该从命令行提供的文件位置读取,当直接 运行 时,则必须读取默认值。

JMX file is attached in this link

您可以尝试在 User Defined Variables 本身中定义 ${__P(variable,defaultVariable)} 并将其与默认值或命令行参数一起使用。无需从属性文件中读取它。

protocol    ${__P(protocol,https)}  
hostname    ${__P(hostname,testHostName.com)}
port        ${__P(port,80)}

然后命令使用它:

jmeter -Dprotocol='http' -Dhost='localhost' -n - t "Practice11.jmx";