gatling会实际执行操作还是仅检查网址的响应时间?

时间:2014-10-24 19:53:36

标签: gatling

我对将回答调查的应用程序进行了测试,并且在回答此调查后,应用程序将识别可能带来风险的可能答案,并创建我们称之为Riskareas的应用程序。这些风险区通常在调查答复完成后立即在后台创建。我的问题是我和十个用户进行了一次加密测试,他们会去回答调查和注销,我用记录器来记录测试;现在,在这十个用户完成后,我看不到在应用程序中创建任何风险区域。我是否遗漏了一些东西 - 如果调查真的应该通过gatling(就像在硒中那样)来回答用户,还是仅仅是gatling测试会触及的网址?

我是新来的,请帮助。

1 个答案:

答案 0 :(得分:1)

就服务器而言,

Gatling 应该与Web浏览器(或Selenium)中的用户无法区分,因此最终结果应该与您经历过的完全相同处理你自己。但是,编写Gatling脚本比编写Selenium脚本要多得多。

出于性能原因,Gatling的运营水平低于Selenium。 Gatling使用从服务器发送和接收的实际数据(即发送到服务器的实际GET和POST),而不是用户级交互(例如单击链接和填写表单)。

录音机通常会产生一个相关的“哑”脚本。它记录发送到服务器的确切数据,并且不会尝试考虑可能因运行而发生变化的事情。例如,您正在测试的Web应用程序可能包含隐藏的表单字段,其中包含会话信息,或者链接地址可能包含唯一标识符或会话ID。

这意味着您的脚本可能没有按照您的想法进行操作。

要调试脚本,首先要做的是add checks on each of the requests,以验证您是否收到了您期望的响应(例如,检查当您提交调查的第1页时,您将被带到第2页 - 检查您希望在第2页上找到的内容,例如特定问题。

一旦您知道哪些请求失败,请查看随请求发送的数据,并尝试确定其来源。您可能会发现必须从上一页提取会话ID,视图状态或类似内容。

这将有助于启用请求和响应日志记录as per the documentation

为了简化网络应用程序的测试,我们编写了some helper functions以允许以类似Selenium的方式编写测试。一旦了解了应用程序正在执行的操作,您可能会发现它也为您简化了脚本编写。但是,了解当前脚本无法按预期方式运行的原因应该是您迈出的第一步。