【问题标题】:How to record multi protocol script in jmeter如何在jmeter中记录多协议脚本
【发布时间】:2019-03-27 19:53:57
【问题描述】:

有没有办法使用 web socket 协议生成脚本?

我想对我的一个项目进行性能测试。该项目有多种协议。像 web http/html 和 web socket。 如何生成 Web 套接字协议的脚本。

如果我尝试生成脚本,则会出现以下错误

2019-03-27 16:49:24,712 WARN o.a.j.p.h.p.Proxy: [58109]  Unable to negotiate SSL transaction, no keystore?
2019-03-27 16:49:24,728 ERROR o.a.j.p.h.p.Proxy: [58109]  Exception when processing sample
java.io.IOException: Unable to negotiate SSL transaction, no keystore?
    at org.apache.jmeter.protocol.http.proxy.Proxy.startSSL(Proxy.java:446) ~[ApacheJMeter_http.jar:4.0 r1823414]
    at org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:194) [ApacheJMeter_http.jar:4.0 r1823414]
2019-03-27 16:49:24,728 WARN o.a.j.p.h.p.Proxy: [58109]  Exception while writing error
java.net.SocketException: Software caused connection abort: socket write error
    at java.net.SocketOutputStream.socketWrite0(Native Method) ~[?:1.8.0_191]
    at java.net.SocketOutputStream.socketWrite(Unknown Source) ~[?:1.8.0_191]
    at java.net.SocketOutputStream.write(Unknown Source) ~[?:1.8.0_191]
    at java.io.DataOutputStream.writeBytes(Unknown Source) ~[?:1.8.0_191]
    at org.apache.jmeter.protocol.http.proxy.Proxy.writeErrorToClient(Proxy.java:561) [ApacheJMeter_http.jar:4.0 r1823414]
    at org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:258) [ApacheJMeter_http.jar:4.0 r1823414]
2019-03-27 16:49:24,728 INFO o.a.j.p.h.p.ProxyControl: [58110] Creating entry web.qa.np.1shift.io in D:\apache-jmeter-4.0\apache-jmeter-4.0\bin\proxyserver.jks
2019-03-27 16:49:25,566 ERROR o.a.j.p.h.p.Proxy: [58110]  Problem with keystore
java.io.IOException:   >> keytool error: java.lang.RuntimeException: java.io.IOException: DNSName components must begin with a letter

【问题讨论】:

    标签: jmeter jmeter-4.0 jmeter-3.2


    【解决方案1】:

    根据RFC-1034 域名必须以字母开头,所以我的期望是您正在尝试记录以数字或奇怪的东西开头的 IP 地址或域。

    有以下解决方法:

    1. 使用hosts file 为您尝试记录的主机提供一个不会与上述 RFC-1034 冲突的别名
    2. 使用JMeter Chrome Extension 替代 JMeter 的 HTTP(S) 测试脚本记录器

    无论如何,我认为您无法记录 WebSocket 协议,尽管它是基于 HTTP 的,但它是 JMeter 的 HTTP Request 采样器无法处理的另一种野兽,您将不得不使用模拟 WebSocket 流量JMeter WebSocket Samplers by Peter Doornbosch

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 2021-07-07
      • 2011-05-18
      相关资源
      最近更新 更多