【问题标题】:JMeter testing authentication with WebSocket connectionJMeter 使用 WebSocket 连接测试身份验证
【发布时间】:2019-03-15 11:15:36
【问题描述】:

我在 Jmeter 中测试了我的应用程序(这只是后端)。我在 JMeter 中进行功能测试。 现在我想测试授权。 我的授权如下:打开 WebSocket 连接,然后将 JSON.stringify 作为 KeyService 发送。

我可以在 JMeter 中测试什么? 我想首先在测试计划中添加到 ThreadGroup - WebSocket Open Connection 并设置服务器名称和端口,。下一个 WebSocket P{ing/Pong,下一个 WebSocket 单写示例 - 我认为这是在请求数据中写成字符串格式的键,例如“1234566788”,它是 json 格式。 然后添加了 WebSocket Single Read Sampler?

测试是否正确?还有什么补充? 也许我应该添加 Json Extractor(或其他东西?)并在这个书面内容 json.stringify 文件中? 在 JMeter 中进行测试的最佳方法是什么?

【问题讨论】:

    标签: json jmeter automated-tests


    【解决方案1】:

    使用 JMeter 进行特定测试或一般负载测试的最佳方法是将其置于预期负载下并确保每个 JMeter 线程(虚拟用户)执行与真实用户(或应用程序)会做

    换句话说,良好的负载测试必须尽可能地代表system under test的实际使用情况,更好地达到100%的准确率,否则这样的测试将没有多大意义。

    一般建议是使用像Wireshark 这样的嗅探器工具记录被测系统和“消费者” - 浏览器、应用程序、其他服务器之间的流量,然后使用 JMeter 重新创建相同的流量,因此请求将是 完全一样(除了动态参数需要correlated

    在您的情况下,如果测试场景是关于登录,您可能希望在发送相应请求后验证您是否真的登录,您可以使用Response Assertion 来检查响应代码、消息和/或正文,如果响应包含不应该包含的数据(或不包含应该包含的数据),则有条件地使采样器失败

    【讨论】:

    • 好的,非常感谢!但在这种特定情况下,如果授权正确,我将如何(逐步)进行测试。这通过发送示例套接字 JSON stringIfy ServiceKey:"key" 工作
    • Dmitri 的意思是:(1) 启动 WireShark 并使用服务器的名称/端口设置捕获过滤器。 (2) 启动您的客户端并让它执行身份验证步骤。 (3) 停止 WireShark。 (4) 检查 WireShark 跟踪中的 WebSocket 帧,并将客户端发送的消息复制到 JMeter 测试脚本。 (5) 启动另一个 WireShark 捕获,启动您的 JMeter 测试并让 WireShark 捕获它的行为。 (6) 将 JMeter 测试捕获的结果与客户端捕获的结果进行比较,相应地调整 JMeter 测试脚本。 (7) 转到 5。
    猜你喜欢
    • 2015-01-25
    • 1970-01-01
    • 2015-05-11
    • 2011-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多