Maven jmeter 插件:SAXParseException:序言中不允许内容
Maven jmeter plugin: SAXParseException: Content is not allowed in prolog
我的 jmeter 的 jmx 文件中有这样的东西:
<stringProp name="SoapSampler.URL_DATA">http://192.168.0.1:8080/abc/Service</stringProp>
我正在使用 jmeter maven 插件在进行 maven 构建时获取性能测试结果。它运行良好。
现在我将其更改为 jmeter 中的用户定义变量并尝试 运行。我收到以下错误:
"SAXParseException: Content is not allowed in prolog"
jmx 文件中的更改:
<elementProp name="server" elementType="Argument">
<stringProp name="Argument.name">server</stringProp>
<stringProp name="Argument.value">http://192.168.0.1:8080</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<stringProp name="SoapSampler.URL_DATA">${server}/abc/Service</stringProp>
但是,如果直接从 jmeter GUI 执行修改后的更改,则效果很好。仅在 maven 构建期间执行时失败。
这是我的 pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.abc.def.performance</groupId>
<artifactId>abc-performance</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>1.9.0</version>
<executions>
<execution>
<id>jmeter-tests</id>
<phase>verify</phase>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
</executions>
<configuration>
</configuration>
</plugin>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-analysis-maven-plugin</artifactId>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>analyze</goal>
</goals>
<configuration>
<!-- An AntPath-Style pattern matching a JMeter XML result file to
analyze. Must be a fully qualified path. File may be GZiped, must end in
.gz then. Default: not set. Required. -->
<source>${project.build.directory}/**/*.jtl</source>
<!-- directory where to store analysis result files. Default: ${project.build.directory}
Required. -->
<targetDirectory>${project.build.directory}/results</targetDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
确保 jmeter.save.saveservice.output_format=xml
并且
取消注释 jmeter.properties 文件中的以下行(在 jmeter 安装文件夹的 bin 文件夹内):
jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.data_type=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
当结果文件不是 xml 格式时,此特定错误消息由 xml 解析器触发。结果文件可能是 CSV 格式,因为 output_format
未设置为 XML
我的 jmeter 的 jmx 文件中有这样的东西:
<stringProp name="SoapSampler.URL_DATA">http://192.168.0.1:8080/abc/Service</stringProp>
我正在使用 jmeter maven 插件在进行 maven 构建时获取性能测试结果。它运行良好。
现在我将其更改为 jmeter 中的用户定义变量并尝试 运行。我收到以下错误:
"SAXParseException: Content is not allowed in prolog"
jmx 文件中的更改:
<elementProp name="server" elementType="Argument">
<stringProp name="Argument.name">server</stringProp>
<stringProp name="Argument.value">http://192.168.0.1:8080</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<stringProp name="SoapSampler.URL_DATA">${server}/abc/Service</stringProp>
但是,如果直接从 jmeter GUI 执行修改后的更改,则效果很好。仅在 maven 构建期间执行时失败。
这是我的 pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.abc.def.performance</groupId>
<artifactId>abc-performance</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>1.9.0</version>
<executions>
<execution>
<id>jmeter-tests</id>
<phase>verify</phase>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
</executions>
<configuration>
</configuration>
</plugin>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-analysis-maven-plugin</artifactId>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>analyze</goal>
</goals>
<configuration>
<!-- An AntPath-Style pattern matching a JMeter XML result file to
analyze. Must be a fully qualified path. File may be GZiped, must end in
.gz then. Default: not set. Required. -->
<source>${project.build.directory}/**/*.jtl</source>
<!-- directory where to store analysis result files. Default: ${project.build.directory}
Required. -->
<targetDirectory>${project.build.directory}/results</targetDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
确保 jmeter.save.saveservice.output_format=xml
并且
取消注释 jmeter.properties 文件中的以下行(在 jmeter 安装文件夹的 bin 文件夹内):
jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.data_type=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
当结果文件不是 xml 格式时,此特定错误消息由 xml 解析器触发。结果文件可能是 CSV 格式,因为 output_format
未设置为 XML