2016-11-09 178 views
0

我有一些代码在我的情况,如我怎样才能在加特林elminated警告ReponseProcessor

.check(status.is(200), jsonPath("$['resultData'][*]['@contentType']").findAll.saveAs("resultData")) 
.check(status.is(500), jsonPath("$['processingError']").find.saveAs("processingError")) 

,但我不断收到以下

10:36:51.946 [WARN ] i.g.h.a.ResponseProcessor - Request 'GetAllThings' failed: status.find.is(200), but actually found 500 
10:36:52.344 [WARN ] i.g.h.a.ResponseProcessor - Request 'GetAllThings' failed: status.find.is(500), but actually found 200 

有一些方法可以让我建立我的支票,以我没有收到这些消息,因为我已经处理了这两种情况?

我已经尝试了几个变化,但似乎没有任何工作。

+0

这两个不同的执行者是两个独立的检查?你有没有尝试打印响应码?失败表示您正在查找200的响应代码,但响应将以500为单位 - 这是一个有效的失败。 –

回答

0

好吧,这不会是我想要(大部分)

.check(
    status.in(Seq(200, 400, 500)), 
    jsonPath("$['resultData'][*]").findAll.optional.saveAs("resultData"), 
    jsonPath("$['processingError']").optional.saveAs("processingError") 
) 

我说主要是因为虽然它解决了一个问题,它创造另一个东西。基本上400和500错误被捕获,但现在它们没有被标记为KO,所以统计数据不计算它们。我试着明确返回

sesson.markAsFailed 

在我的exec(),但不工作,可能是因为一旦你从单向的,失败不计(双关语意)。