【问题标题】:Jmeter protocol error?Jmeter协议错误?
【发布时间】:2014-11-13 12:49:00
【问题描述】:

这是我的第一个问题。我已经阅读了有关上传场景的其他回复,但我找不到解决方案。

当我尝试打开“上传文件”窗口时:

java.net.URISyntaxException:索引 51 处的查询中存在非法字符:http://xxxxxxxxxx/upload_file_window.ud121?vds={%22oid%22:0,%22folder%22:0,%22section%22:%22myfiles%22,%22last_section%22:%22videos%22,%22uploaded%22:false,%22uploader%22:null,%22searchresults%22:[],%22plupload_settings%22:{%22upload_url%22:%22upload_file_final.ud121%22,%22filters%22:[{%22title%22:%22Image%20files%22,%22extensions%22:%22jpg,gif,png,jpeg,JPG,GIF,PNG,JPEG%22},{%22title%22:%22Audio%20files%22,%22extensions%22:%22mp3,wmaupload,m4a,wav%22},{%22title%22:%22Video%20files%22,%22extensions%22:%22mpg,mpeg,wmv,flv,mov,swf,mp4,f4v%22}],%22file_size_limit%22:%222048mb%22},%22new_playlist_x%22:1280,%22new_playlist_y%22:720}

at java.net.URI$Parser.fail(URI.java:2829)
at java.net.URI$Parser.checkChars(URI.java:3002)
at java.net.URI$Parser.parseHierarchical(URI.java:3092)
at java.net.URI$Parser.parse(URI.java:3034)
at java.net.URI.<init>(URI.java:595)
at java.net.URL.toURI(URL.java:936)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:234)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:62)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1088)
at org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:211)

这是 jmeter 协议错误? (我在 jmeter 的 ajax 中看到了一些记录)。 我怎样才能看到上传的 HTTP 请求?萤火虫? 本地上传的文件应该放在哪里?

谢谢!!

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    你需要把要上传的文件放在/bin中。

    http://jmeter.apache.org/usermanual/component_reference.html#HTTP%28S%29_Test_Script_Recorder

    上传文件 某些浏览器(例如 Firefox 和 Opera)在上传文件时不包含文件的全名。这可能会导致 JMeter 代理服务器失败。一种解决方案是确保要上传的任何文件都在 JMeter 工作目录中,方法是在其中复制文件或在包含文件的目录中启动 JMeter。

    【讨论】:

    • 好的,谢谢,但这是我问题的最后一部分。首先,我需要记录上传请求,通过 JMeter 代理我不能。有什么想法吗?
    【解决方案2】:
    1. 您不能使用 HTTP GET 方法进行文件上传。我相信它应该是 POST 或 PUT。
    2. 即使您的应用程序支持它,您的整个请求大小也将限制在 2 KB 左右
    3. 无论文件位于何处,最好为任何外部文件提供完整路径:要上传的文件、CSV 数据集文件等。
    4. 您可以记录文件上传,但 JMeter 不够聪明,无法获取文件的完整路径,它必须位于 JMeter 的工作目录中(通常是 JMeter 安装的 /bin 文件夹,但它可能会有所不同,即如果您启动JMeter(通过桌面快捷方式)
    5. 有关详细信息和分步指南,请参阅 Performance testing: Upload and Download Scenarios with Apache JMeter 帖子。

    【讨论】:

    • 感谢 Dmitri, blazemeter 的 chrome 扩展记录了上传的 GET 请求。我不确定正在测试的应用程序是否允许发布上传操作...您能给我任何提示以在 POST 中转换请求吗?
    • 更改请求类型就像从“方法”下拉列表中选择“POST”一样简单。我很确定该文件需要通过“GET”以外的方法上传
    猜你喜欢
    • 1970-01-01
    • 2018-01-17
    • 1970-01-01
    • 1970-01-01
    • 2016-02-01
    • 2019-01-05
    • 2015-11-27
    • 2021-09-23
    • 1970-01-01
    相关资源
    最近更新 更多