我对将回答调查的应用程序进行了gatling测试,在回答此调查时,应用程序将识别可能构成风险的可能答案,并创建我们所称的风险区域。这些风险区域通常在调查回答完成后立即在后台创建。我的问题是,我有一个与10个用户的gatling测试,他们将去回答调查并注销,我使用记录器记录了测试;现在在这10个用户完成后,我没有看到应用程序中创建了任何风险区域。我是否遗漏了什么--调查是否真的应该由gatling (就像在selenium中一样)用户回答,或者只是gatling测试将涉及的urls?
我刚接触加特林,请帮帮忙。
发布于 2014-11-13 20:58:45
就服务器而言,Gatling应该与web浏览器(或Selenium)中的用户无法区分,因此最终结果应该与您自己经历的过程完全相同。然而,编写一个Gatling脚本比编写Selenium脚本要多一点工作。
出于性能原因,Gatling的运行级别低于Selenium。Gatling使用从服务器发送和接收的实际数据(即发送到服务器的实际GET和POST),而不是用户级的交互(例如单击链接和填写表单)。
记录器通常会产生一个重新启动的“哑巴”脚本。它会记录发送到服务器的确切数据,并且不会尝试说明每次运行时可能会发生变化的情况。例如,您正在测试的web应用程序可能具有包含会话信息的隐藏表单字段,或者链接地址可能包含唯一标识符或会话id。
这意味着您的脚本可能没有执行您认为它正在执行的操作。
要调试脚本,首先要做的是add checks on each of the requests,验证您是否得到了预期的回答(例如,检查当您提交调查的第1页时,您将被带到第2页-检查您只希望在第2页找到的内容,如特定问题)。
一旦您知道哪些请求正在失败,请查看与请求一起发送的数据,并尝试找出这些数据来自何处。您可能会发现,必须从上一页提取会话ids、视图状态或类似内容。
它将有助于启用请求和响应日志记录,as per the documentation。
为了简化web应用程序的测试,我们编写了some helper functions,允许以更像Selenium的方式编写测试。一旦你理解了你的应用程序在做什么,你可能会发现它也为你简化了脚本。然而,理解为什么你当前的脚本不能按照你期望的方式工作,应该是你的第一步。
https://stackoverflow.com/questions/26555287
复制相似问题