Karate框架是否支持Linux系统上的Microsoft Edge浏览器无头执行?
解决Linux服务器上Microsoft Edge无头模式运行测试脚本的问题
1. 修正无头模式参数格式
新版基于Chromium的Microsoft Edge,无头模式的参数已更新,旧的-headless可能无法生效,需替换为--headless=new。调整后的驱动配置如下:
configuration driver: { type: 'msedgedriver', executable:'/edgedriver_linux64/msedgedriver', webDriverSession: { capabilities: { browserName: 'edge', edgeOptions: { args: ['--headless=new'] } } } }
2. 添加Linux服务器专属参数
Linux环境下运行无头浏览器,需附加参数规避权限或资源限制问题,推荐配置:
configuration driver: { type: 'msedgedriver', executable:'/edgedriver_linux64/msedgedriver', webDriverSession: { capabilities: { browserName: 'edge', edgeOptions: { args: [ '--headless=new', '--no-sandbox', '--disable-dev-shm-usage', '--disable-gpu' ] } } } }
--no-sandbox:禁用沙箱模式,解决非root用户运行时的权限报错--disable-dev-shm-usage:避免/dev/shm内存不足导致的浏览器崩溃--disable-gpu:无头环境无需GPU加速,消除相关兼容问题
3. 确保驱动与浏览器版本完全匹配
必须保证msedgedriver版本和服务器上安装的Microsoft Edge版本完全一致,版本不匹配会导致无头模式等功能失效。可通过以下命令查看浏览器版本:
microsoft-edge --version
下载对应版本的驱动替换现有文件即可。
内容的提问来源于stack exchange,提问作者Ash Desh
相关产品推荐
相关产品推荐

