【发布时间】:2018-08-28 11:21:09
【问题描述】:
我终于让 Karate 使用 GraphQL 并能够验证一个简单的 200 响应,尽管我在验证架构和响应时遇到了问题。我是超级新手,所以我道歉(不是程序员,只是测试员)。我想验证架构是否正确,例如结果只是返回(providerID、firstName、lastName 等),而不是数据。然后我想单独验证数据本身。我不明白的另一件事是如何传递数据,例如我可以在哪里更改纬度、经度、最大距离等并将其作为变量。我在示例中看到“名称”如何用作变量,但这些似乎以不同的方式传递,所以我不确定如何去做。很抱歉没有知道这么多,感谢您的帮助。
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' }
【问题讨论】:
标签: java automated-tests cucumber graphql karate