query ExampleQuery1 {
campaignArticles(
page:0
size: 10
categoryId:"3aac6513-fb0d-4ed1-8fc3-f8d9aec08638")
{
content {
id
... on CampaignArticle {
displayPlace
title
shortDescription
longDescription
publishEndDate
endDateCountdown
campaignEndDateVisible
personal
personalMedia{
id
type
url
videoPreviewImage
}
listViewMedia {
id
type
url
videoPreviewImage
}
scenarios {
id
scenarioId
scenarioName
}
externalMembershipPartner
optin {
id
formExist
limitExceeded
buttonText
buttonDisabledText
}
favorite
brand {
id
name
logo{
id
type
url
videoPreviewImage
}
}
}
}
page {
number
size
totalElements
totalPages
}
}
}
query ExampleQuery1 {
campaignCategories(page: 0, size: 10) {
content {
... on CampaignCategory {
name
version
id
}
}
}
}
query ExampleQuery2 {
campaignCategories(page: 0, size: 10) {
content {
... on CampaignCategory {
name
version
id
}
}
}
}
我正在尝试读取 .gql 文件中的不同查询。我找到了一个例子,但没有用 “给定请求 read('requestGraphQL.gql', 'ExampleQuery1')” 使用像这样的读取方法,给出此错误“org.graalvm.polyglot.PolyglotException:TypeError:在 com.intuit.karate.core.ScenarioEngine$$Lambda$89 上执行失败原因:数量错误 - 预期:1 实际:2
我正在分享我的 .gql 文件和场景步骤。如果可以读取文件中的查询,请帮助我。添加了 3 个屏幕截图来解释我的代码。
这是我的 .gql 文件,我想按名称读取这些查询。我的目标是防止每个查询使用多个文件
@55547
场景:LimitTanimiListesiAlma
Given def query = read('requestGraphQL.gql')
And request { query: '#(query)' }
And header app-version = "3.0.0"
And header platform = "app-store"
And header Accept = "*/*"
When method post
Then status 200
Then print response
read()
函数仅接受一个参数。
* request read('requestGraphQL.gql')
以上应该足够了。
我找到了解决问题的方法。我正在使用 .js 文件而不是 .gql 文件,使用 javascript 函数返回请求。
function(){
return {
graphqlFunction: function()
{
const MY_GRAPHQL_QUERY = `query ($categoryId: UUID!){
campaignArticles(
page:0
size: 10
categoryId: $categoryId )
{
content {
id
... on CampaignArticle {
displayPlace
title
shortDescription
longDescription
publishEndDate
endDateCountdown
campaignEndDateVisible
personal
personalMedia{
id
type
url
videoPreviewImage
}
listViewMedia {
id
type
url
videoPreviewImage
}
scenarios {
id
scenarioId
scenarioName
}
externalMembershipPartner
optin {
id
formExist
limitExceeded
buttonText
buttonDisabledText
}
favorite
brand {
id
name
logo{
id
type
url
videoPreviewImage
}
}
}
}
page {
number
size
totalElements
totalPages
}
}
}`
return MY_GRAPHQL_QUERY;
}
}
}
@55547 场景:限制TanimiListesiAlma
Given def query = jsFile.graphqlFunction()
And def variables = { categoryId: '3aac6513-fb0d-4ed1-8fc3-f8d9aec08638' }
And request { query: '#(query)', variables: '#(variables)' }
And header app-version = "3.0.0"
And header platform = "app-store"
And header Accept = "*/*"
When method post
Then status 200
Then print response