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

性能测试中使用karateFeature出现路径找不到问题求助

解决方案:动态定位Karate Feature文件路径问题

核心问题

PathFinder.getPath("getOrderRequest.feature") 失败的原因是:Gatling的PathFinder默认从你配置的simulationsFolder(即src/test/scala)开始查找文件,但你的getOrderRequest.feature实际存放在src/test/resources目录下,两者路径根不同,导致无法匹配。

可行解决方法

方法1:直接使用Classpath路径(推荐)

src/test/resources下的文件会被自动加入项目的classpath,直接通过classpath路径引用即可:

.exec(karateFeature("classpath:gratling/simulation/orderServices/getOrderRequest.feature"))

方法2:利用类加载器动态获取路径

如果需要动态拼接路径,可以通过当前类的类加载器获取资源的绝对路径:

val featurePath = getClass.getResource("/gratling/simulation/orderServices/getOrderRequest.feature").getPath
.exec(karateFeature(featurePath))

方法3:调整PathFinder的相对路径

若坚持使用PathFinder,需要从src/test/scala向上回溯到resources目录,构建相对路径:

.exec(karateFeature(PathFinder.getPath("../../../resources/gratling/simulation/orderServices/getOrderRequest.feature")))

这种方式依赖固定目录结构,灵活性差,不推荐长期使用。

验证修改

替换代码后运行Gatling脚本,即可无需硬编码绝对路径,正确加载feature文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 08:03:27