0

我对将回答调查的应用程序进行了加特林测试,在回答此调查后,该应用程序将识别可能构成风险的可能答案并创建我们所谓的风险区域。这些风险区域通常在调查回答完成后立即在后台创建。我的问题是我有一个 gatling 测试,有十个用户将去回答调查并注销,我使用记录器记录测试;现在这十个用户完成后,我看不到应用程序中创建了任何风险区域。我是否遗漏了什么——是否应该由 gatling 用户(就像在 selenium 中所做的那样)真正回答调查,还是只是 gatling 测试将触及的网址?

我是加特林新手,请帮忙。

4

1 回答 1

1

就服务器而言, Gatling应该与 Web 浏览器(或 Selenium)中的用户没有区别,因此最终结果应该与您自己完成该过程完全相同。但是,编写 Gatling 脚本比编写 Selenium 脚本需要更多的工作。

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

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

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

要调试脚本,首先要做的是对每个请求添加检查,以验证您是否获得了预期的响应(例如,检查当您提交调查的第 1 页时,您是否被带到2 - 检查您只希望在第 2 页找到的内容,例如特定问题)。

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

根据文档,这将有助于启用请求和响应日志记录。

为了简化 Web 应用程序的测试,我们编写了一些辅助函数来允许以更类似于 Selenium 的方式编写测试。一旦您了解了您的应用程序在做什么,您可能会发现它也为您简化了脚本编写。但是,了解为什么您当前的脚本不能按您期望的方式工作应该是您的第一步。

于 2014-11-13T12:58:44.740 回答