You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多浏览器多账号登录获取医疗模块ECG实时数据的方案咨询

解决方案:处理SignalR流式数据与多用户多浏览器测试需求

首先纠正一个误解:JMeter是可以处理SignalR/WebSocket流式数据的,你之前没拿到数据大概率是配置没覆盖SignalR的完整交互流程。另外,针对你要同时打开多个浏览器、用不同用户登录并加载实时流页面的需求,分两种场景给你方案:

一、用JMeter模拟(无需真实浏览器,适合性能测试)

如果你的目标是性能测试而非真实UI验证,JMeter完全可以实现多用户并发连接并接收ECG流式数据,关键是要正确处理SignalR的交互步骤:

  • 步骤1:完成SignalR协商
    SignalR不是直接连WebSocket,首先要发送一个GET请求到/negotiate端点(具体路径看你的应用配置),获取connectionId、accessToken等关键参数,这些参数会用于后续的WebSocket连接。
  • 步骤2:建立WebSocket连接
    使用JMeter的WebSocket Sampler,选择Streaming Connection模式,连接URL要带上之前获取的connectionId(比如wss://your-domain/signalr/connect?transport=webSockets&connectionId=xxx)。
  • 步骤3:订阅流式数据
    SignalR需要你发送特定格式的JSON消息来订阅ECG流,比如:
    {"H":"your-hub-name","M":"SubscribeToEcgStream","A":[],"I":1}
    
    把这个消息通过WebSocket Sampler发送,之后就能持续接收设备推送的ECG波形数据了。
  • 多用户并发
    用CSV Data Set Config加载多个用户的凭据,线程组设置对应数量的线程,每个线程独立完成登录、协商、WebSocket连接的流程,就能模拟多用户并发场景。

如果还是没拿到数据,建议查看jmeter.log,里面会有WebSocket连接的错误细节,比如握手失败、帧解析错误等。

二、真实打开多浏览器测试(适合UI/功能验证)

如果必须用真实浏览器打开页面并验证实时流,那需要用UI自动化工具:

  • Playwright(首推)
    微软的Playwright天生支持多浏览器、多独立上下文,每个上下文可以模拟不同用户(独立的cookie、localStorage)。你可以用几行代码启动多个Chrome/Firefox/Safari实例,每个实例用不同用户登录并打开实时流页面,示例逻辑:
    from playwright.sync_api import sync_playwright
    
    users = [{"username": "user1", "password": "pass1"}, {"username": "user2", "password": "pass2"}]
    
    with sync_playwright() as p:
        for user in users:
            browser = p.chromium.launch(headless=False)
            context = browser.new_context()
            page = context.new_page()
            # 登录流程
            page.goto("/login")
            page.fill("#username", user["username"])
            page.fill("#password", user["password"])
            page.click("#submit")
            # 打开实时流页面
            page.goto("/ecg-stream")
    
  • Selenium
    经典的UI自动化工具,支持多浏览器实例。可以通过启动多个WebDriver实例,每个实例对应一个用户,完成登录和页面加载。如果需要大规模并行,还可以用Selenium Grid分布式运行。
  • Cypress
    虽然Cypress默认单浏览器,但可以通过命令行参数(比如cypress run --parallel)结合配置文件,启动多个并行实例,每个实例用不同的用户上下文(通过修改cookie或localStorage切换用户)。

内容的提问来源于stack exchange,提问作者Chitta Ranjan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:34:24