我正在使用加特林并遇到了实施集成测试的问题。我正在运行的测试有两部分(scenarios
):
第一部分是验证预期服务器响应的简单GET
请求。在此步骤中,它会返回表单的配置ID
以及表单的其他属性。
在下一步中,我正在点击PUT
路由,该路由更新此表单配置的各种属性,以便通过应用程序的后端测试此路由和其他功能。
这些步骤的问题在于,在运行第二步后,如果在该配置下保存了任何表单,它将克隆副本以用于安全目的并更改ID
。长话短说,同样的ID
不会从测试到测试持续存在。
我的问题是:Gatling中是否有办法运行SQL查询来获取值并存储它们然后传递它们?或者有一种方法可以存储GET
方法中的变量,并在第二种方案的PUT
方法中传递它。我知道有Gatling的.saveAs()
方法,但我相信这个函数的范围只有scenario
。
请通知我进一步澄清和详细信息;提前谢谢。
答案 0 :(得分:1)
这个答案:https://groups.google.com/forum/#!topic/gatling/bfpKd_9d6gk可能用于处理您的用例。
答案 1 :(得分:1)
Google group link仅显示如何在不同的用户会话之间共享(和缓存)数据。
如果您正在寻找“场景”而不是“用户会话”之间的数据共享,您应该查看Peter的回答:https://stackoverflow.com/a/43061278/1395126
这是我今天在互联网上可以找到的唯一信息,它真正向您展示如何在Gatling中的场景之间共享数据。
恕我直言,要注意“//在此设置”评论这一行非常重要。这是关于在场景之间共享数据的秘密。不首先设置会话属性或直接在另一个场景中访问“CreateId”无法正常工作。