Hey Karate DSL Community - мне было интересно, кто-нибудь может помочь мне понять, как выполнить определенный шаг теста в сценарии, основываясь на предыдущем значении ответа (условная логика). Прочитав документацию, я увидел, что это возможно с файлами функций, но мне также было интересно, как сделать это элегантно в сценарии.
Ниже я попытаюсь объяснить, чего я хочу достичь.
Given path '/games/list'
When method get
Then status 200
And def response = {"games":[{"gameId":"3431572","gameStatus":"RELEASED","releaseDate":"2018-10-31"}]}
And match response.games == '#[]'
Given path '/games/action'
And request {"game":{"gameId":"3431572","gameStatus":"RELEASED","releaseDate":"2018-10-31"},"gameAction":"DOWNLOAD"}
When method post
Then status 200
Если response.game.gameStatus == 'UNRELEASED'
, то я хотел бы проанализировать request.gameAction = 'PREORDER'
, в противном случае, если response.game.gameStatus == 'RELEASED'
, тогда я хотел бы проанализировать request.gameAction = 'DOWNLOAD'
Пожалуйста,дайте мне знать, если вам требуется дополнительная информация. Я считаю, что использование set
может работать здесь с некоторыми функциями JavaScript?