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

RHEL 8环境下JMeter运行Chrome WebDriver Sampler测试无结果求助

问题排查:RHEL 8无头模式下JMeter测试无结果返回

问题背景

  • 运行环境:RHEL 8 服务器,JMeter 采用Chrome无头模式执行Web自动化测试
  • 异常现象:测试执行后无任何结果返回(JMeter结果树为空,无请求记录与响应数据)
  • 已验证项:ChromeDriver版本与服务器上的Chrome浏览器版本完全匹配;相同测试用例在Windows环境可正常运行并返回结果

排查步骤

1. 补全无头模式启动参数

无头模式下Chrome需要特定参数才能在无桌面环境的服务器上正常运行,确保JMeter的Chrome Driver配置中包含以下关键参数:

--headless=new
--no-sandbox
--disable-dev-shm-usage
--disable-gpu
--window-size=1920,1080
  • --no-sandbox:服务器无桌面用户会话时必须启用,绕过Chrome的沙箱限制
  • --disable-dev-shm-usage:避免服务器/容器环境中共享内存不足导致的浏览器崩溃

2. 直接验证Chrome浏览器可用性

在服务器终端执行以下命令,确认Chrome本身能正常启动并渲染页面:

google-chrome --headless=new --no-sandbox --disable-dev-shm-usage --dump-dom https://www.example.com

若命令无输出或报错,说明Chrome安装不完整或缺失依赖(如libX11-devel、libXext-devel等基础图形库),需先修复浏览器运行环境。

3. 开启日志定位启动/执行异常

  • ChromeDriver日志:在JMeter的Chrome Driver配置中添加参数:
    --verbose --log-path=/tmp/chromedriver.log
    
    执行测试后查看/tmp/chromedriver.log,重点关注Failed to start、Timeout、Connection refused类错误。
  • JMeter日志:检查jmeter.log文件,搜索chrome、webdriver相关条目,排查测试执行过程中的异常抛出信息。

4. 验证网络与权限配置

  • 用curl或wget测试服务器到目标测试站点的连通性:
    curl -I https://your-test-site.com
    
    确保无网络拦截、DNS解析失败等问题。
  • 确认运行JMeter的用户拥有以下权限:
    • 访问Chrome安装目录(如/usr/bin/google-chrome)
    • 读写临时文件目录(/tmp)
    • 目标站点的网络访问权限

5. 适配无头模式的页面加载策略

部分页面会针对无头模式做限制,可尝试以下调整:

  • 添加用户代理参数模拟桌面浏览器:
    --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"
    
  • 在JMeter中设置更长的页面加载超时时间,或添加显式等待逻辑(如等待目标元素出现后再执行后续操作)

内容的提问来源于stack exchange,提问作者kent steinwall

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 15:14:56