8

我正在尝试加载测试从存档数据库中获取记录的 java servlet。

servlet 的工作方式如下:

  • 1-从 HTTP 标头读取 post 变量
  • 2-使用变量查询数据库
  • 3-返回 XML

我已经设置了一个测试,我想用 post 变量触发 HTTP 请求,但是测试不起作用,J Meter 出现错误。

屏幕截图 1 - 显示测试的结构 在此处输入图像描述

屏幕截图 2 - 显示我正在读取的 CSV 文件 在此处输入图像描述

我已将 CSV 文件放在保存我的测试计划的同一文件夹中!

屏幕截图 3 - 显示 HTTP 请求 在此处输入图像描述

这是错误输出:

线程名称:线程组 1-1 样本开始:格林威治标准时间 2012 年 11 月 20 日 10:35:27 加载时间:0 延迟:0 字节大小:1113 标头大小(字节):0 正文大小(字节):1113 样本计数:1错误计数:1 响应代码:非 HTTP 响应代码:java.net.URISyntaxException 响应消息:非 HTTP 响应消息:索引 13 处 IPv6 地址的预期右括号: http://[http://sophos1.testserver.co。英国/servlet/存档]:61061/

响应标头:

HTTPSampleResult 字段:ContentType:DataEncoding:null

POST 请求

POST http://[http://sophos1.testserver.co.uk/servlet/archive]:61061/

POST data:


[no cookies]

返回数据

java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 13: http://[http://sophos1.testserver.co.uk/servlet/archive]:61061/
        at java.net.URI$Parser.fail(Unknown Source)
        at java.net.URI$Parser.failExpecting(Unknown Source)
        at java.net.URI$Parser.parseServer(Unknown Source)
        at java.net.URI$Parser.parseAuthority(Unknown Source)
        at java.net.URI$Parser.parseHierarchical(Unknown Source)
        at java.net.URI$Parser.parse(Unknown Source)
        at java.net.URI.<init>(Unknown Source)
        at java.net.URL.toURI(Unknown Source)
        at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:232)
        at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:62)
        at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1075)
        at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1064)
        at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:426)
        at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:255)
        at java.lang.Thread.run(Unknown Source)

请帮忙!

谢谢

4

3 回答 3

19

从HTTP 请求采样器的服务器名称/IP 字段中删除(在HTTP 请求字段描述http://中指出)。

在描述中查看上面生成的 POST 请求:

POST Request
POST http://[http://sophos1.testserver.co.uk/servlet/archive]:61061/

改为如下配置您的 HTTP 请求:

Server Name: sophos1.testserver.co.uk
Path: /servlet/archive
Implementation: Java
于 2012-11-20T10:59:23.163 回答
1

最简单的方法是您可以将服务器名称留空并将路径设置为

http://sophos1.testserver.co.uk/servlet/archive

于 2015-10-23T04:47:07.627 回答
0

ServerName检查或IP字段中是否有空格。

这给了我这个错误:

响应消息:非 HTTP 响应消息:索引 7 的权限中的非法字符:

当开始时修剪额外的空间时,它运作良好。

于 2017-09-13T08:51:32.593 回答