加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 如何在“exec”中失败Gatling测试?

发布时间:2020-12-16 18:07:54 所属栏目:安全 来源:网络整理
导读:带有exec链的Gatling场景.请求后,保存返回的数据.之后它会被处理,并且根据处理结果,它应该失败或通过测试. 这似乎是最简单的可能情况,但我找不到任何可靠的信息如何在exec块中失败测试.断言打破了场景,看似加特林(如:异常抛出不仅仅是测试失败). 例: // Th
带有exec链的Gatling场景.请求后,保存返回的数据.之后它会被处理,并且根据处理结果,它应该失败或通过测试.

这似乎是最简单的可能情况,但我找不到任何可靠的信息如何在exec块中失败测试.断言打破了场景,看似加特林(如:异常抛出不仅仅是测试失败).

例:

// The scenario consists of a single test with two exec creating the execChain
val scn = scenario("MyAwesomeScenario").exec(reportableTest(

     // Send the request
     exec(http("127.0.0.1/Request").get(requestUrl).check(status.is(200)).check(bodyString.saveAs("MyData")

     // Process the data
    .exec(session => { 
         assert(processData(session.attributes("MyData")) == true,"Invalid data");
    })
))

在“监护人失败,关闭系统”这一行的某个地方之上.

现在这似乎是一个有用的,经常使用的事情 – 我可能会遗漏一些简单的东西.怎么做?

解决方法

你必须遵守Gatling API.

>通过检查,您不会“失败”测试,而是请求.如果您正在寻找未通过整个测试的,那么您应该查看Assertions API和Jenkins plugin.
>您只能在请求站点执行检查,而不能在以后执行.其中一个很好的理由是,如果将bodyString存储在Sessions中,就像你正在做的那样,你将结束使用大量内存并可能崩溃(仍然引用,因此不是垃圾收集).您必须在检查中执行processData,通常在transform可选步骤中执行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读