WireMock多用户登录切换场景配置问题求助及解决方案
WireMock模拟GraphQL服务器场景配置问题及解决方法
我正在用WireMock模拟GraphQL服务器,需要实现「先注销User 1、再登录User 2」的流程,知道可以通过WireMock的scenario功能实现,但我的配置代码无法正常运行。初始配置代码如下:
初始配置
登录User 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" } }
登录User 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的修改建议,我做了以下调整后配置正常运行:
- 移除了User 1和User 2配置中的
newScenarioState字段 - 将User 2登录的响应状态码改为201
修正后的代码如下:
登录User 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" } }
登录User 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" } }
内容的提问来源于stack exchange,提问作者user2415183
相关产品推荐
相关产品推荐

