首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Gatling馈线/参数问题-线程“主”java.lang.UnsupportedOperationException中的异常

Gatling馈线/参数问题-线程“主”java.lang.UnsupportedOperationException中的异常
EN

Stack Overflow用户
提问于 2022-09-07 09:27:09
回答 1查看 41关注 0票数 0

我只是使用Gatling为我们的服务进行API测试的新项目。此时,我想搜索查询,下面是代码:

代码语言:javascript
运行
复制
def chnSendToRender(testData: FeederBuilderBase[String]): ChainBuilder = {

 feed(testData)

  exec(api.AdvanceSearch.searchAsset(s"{\"all\":[{\"all:aggregate:text\":{\"contains\":\"#{edlAssetId}_Rendered\"}}]}", "#{authToken}")
   .check(status.is(200).saveAs("searchStatus"))
   .check(jsonPath("$..asset:id").findAll.optional.saveAs("renderedAssetList"))
    )
      
 .doIf(session => session("searchStatus").as[Int] == 200) {
        exec { session =>
          printConsoleLog("Rendered Asset ID List: " + session("renderedAssetList").as[String], "INFO")
          session
        }
      }
  }

我已经在模拟scala文件中声明了馈线:

代码语言:javascript
运行
复制
class GVRERenderEditor_new extends Simulation {

private val edlToRender = csv("data/render/edl_asset_ids.csv").queue

private val chnPostRender = components.notifications.notice.JobsPolling_new.chnSendToRender(edlToRender)

private val scnSendEDLForRender = scenario("Search Post Render")
.exitBlockOnFail(exec(preSimAuth))
.exec(chnPostRender)

setUp(
scnSendEDLForRender.inject(atOnceUsers(1)).protocols(httpProtocol)
)
.maxDuration(sessionDuration.seconds)
.assertions(global.successfulRequests.percent.is(100))

}

但是Gatling测试失败,显示了此错误:线程"main“java.lang.UnsupportedOperationException中的异常:在模拟过程中没有发送请求,因此不会生成报告。

如果我硬编码#{ edlAssetId } (将真正的edlAssetId放在该查询中),我将得到结果。在这种情况下,我想我把参数传递错了。我尝试在控制台日志中打印输出,但没有结果。这个密码怎么了?我很感谢你的帮助。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-07 09:56:00

代码语言:javascript
运行
复制
 feed(testData)

  exec(api.AdvanceSearch.searchAsset(s"{\"all\":[{\"all:aggregate:text\":{\"contains\":\"#{edlAssetId}_Rendered\"}}]}", "#{authToken}")
   .check(status.is(200).saveAs("searchStatus"))
   .check(jsonPath("$..asset:id").findAll.optional.saveAs("renderedAssetList"))
    )

. (点)之前缺少一个exec (点)来将它附加到feed

因此,您的方法只返回最后一条指令(只返回执行部分)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73633053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档