我终于让Karate使用GraphQL并且能够验证简单的200响应,尽管我在验证模式然后响应时遇到了问题 . 我是超级新人所以我道歉(不是程序员,只是测试人员) . 我想验证模式是否正确,例如结果只返回(providerID,firstName,lastName等),而不是数据 . 然后我想分别验证数据本身 . 我不明白的另一件事是如何传递数据,例如我可以改变Latitude,Longitude,MaxDistance等,并让它成为一个变量 . 我在示例中看到“name”如何用作变量,但这些似乎以不同的方式传递,所以我不确定如何做到这一点 . 很抱歉不知道这么多,我感谢你的帮助 .
Scenario: simple graphql request
#Verify 200 response status returned
Given text query =
"""
{
Results: getSearchResults(searchLatitude:"38.942833",
searchLongitude: "-119.984549", providerType: "Primary Care Physicians",
sortBy: "distance", maxDistance:"600",skip: 0, take: 10) {
providerID
firstName
lastName
mI
title
name
nameLFMT
status
specialties
locations
institutions
acceptNewPatient
imageUri
distanceToNearest
}
}
"""
And request { query: '#(query)' }
When method post
Then status 200
# pretty print the response
* print 'response:', response
# the '..' wildcard is useful for traversing deeply nested parts of the
json
* def results = get[0] response..Results
* match results contains { ProviderId: 520, firstName: 'Richard',
lastName: 'Botto' }
1 回答
看一下replace关键字 .
然后尝试这个:
一旦你得到这个工作搜索“graphql”的文档,以获得更多的想法 .
对于匹配模式,它应该很容易:
该文档有fuzzy matching的整个部分 .