我正在使用Wiremock来模拟我的服务器,我遇到了一个问题。我有两个用户。我想以一个用户的身份注销,然后以另一个用户的身份登录。我知道我可以在场景中做到这一点,但我的代码不起作用。我使用的是GraphQl服务器。我的代码如下所示:
以用户1身份登录
{
"scenarioName": "Test scenario",
"requiredScenarioState": "Started",
"newScenarioState": "User 1",
"request": {
"method": "POST",
"url": "/graphql-url",
"headers": {
"X-APOLLO-OPERATION-NAME": {
"equalTo": "User1"
}
}
},
"response": {
"status": 200,
"bodyFileName": "User1.json"
}
}
登出
{
"scenarioName": "Test scenario",
"requiredScenarioState": "User 1",
"newScenarioState": "Started",
"request": {
"method": "POST",
"url": "/graphql-url",
"headers": {
"X-APOLLO-OPERATION-NAME": {
"equalTo": "Logout"
}
}
},
"response": {
"status": 200,
"bodyFileName": "Logout.json"
}
}
以用户2身份登录
{
"scenarioName": "Test scenario",
"requiredScenarioState": "Log out",
"newScenarioState": "User 2",
"request": {
"method": "POST",
"url": "/graphql-url",
"headers": {
"X-APOLLO-OPERATION-NAME": {
"equalTo": "User2"
}
}
},
"response": {
"status": 200,
"bodyFileName": "User2.json"
}
}
有人知道问题出在哪里吗?
- 更新 * 我想出来了!除了agoff所做的更改外,我还需要将作为用户2登录的状态更改为201,并从用户1和2中删除新场景。之后就可以了
登录用户1
{
"scenarioName": "Test scenario",
"requiredScenarioState": "Started",
"request": {
"method": "POST",
"url": "/graphql-url",
"headers": {
"X-APOLLO-OPERATION-NAME": {
"equalTo": "User1"
}
}
},
"response": {
"status": 200,
"bodyFileName": "User1.json"
}
}
登出
{
"scenarioName": "Test scenario",
"requiredScenarioState": "Started",
"newScenarioState": "Logout",
"request": {
"method": "POST",
"url": "/graphql-url",
"headers": {
"X-APOLLO-OPERATION-NAME": {
"equalTo": "Logout"
}
}
},
"response": {
"status": 200,
"bodyFileName": "Logout.json"
}
}
登录用户2
{
"scenarioName": "Test scenario",
"requiredScenarioState": "Log out",
"request": {
"method": "POST",
"url": "/graphql-url",
"headers": {
"X-APOLLO-OPERATION-NAME": {
"equalTo": "User2"
}
}
},
"response": {
"status": 201,
"bodyFileName": "User2.json"
}
}
1条答案
按热度按时间oalqel3c1#
您的
log out
Map将newScenarioState
设置为"Started"
,但您的user2
Map具有"Log out"
的requiredScenarioState
。更新log out
Map的newScenarioState
应可解决此问题。