node.js - 多次登录的 Web 测试

标签 node.js testing automated-tests web-testing

我有一个用 node.js 编写的聊天室。

本聊天室在客户端使用cookie来识别用户;这意味着当我使用 Chrome 浏览器以用户 A 身份登录聊天室时,我无法使用 Chrome 以用户 B 身份登录聊天室。因为服务器会发现用户 A 和用户 B 共享同一个 cookie。

我上面提到的这种情况的例子可以在 http://www.e-chat.co/ 找到。

所以我的问题是:当可能有 1000 个用户同时登录我的聊天室时,我如何测试这种情况? (我想知道我的聊天室可以容纳多少用户。)

我无法在浏览器中同时使用多个帐户登录(除非我更改聊天室的结构,这不是我要做的事情)。

我发现 Chrome 扩展 https://chrome.google.com/webstore/detail/multilogin/nccllfnllopfpcbjdgjdlfmomnfgnnbk 允许我使用多个帐户登录我的聊天室。但是手动输入大量用户帐户是一项乏味的工作。有没有办法自动化输入大量(例如 1000 个)帐户的过程?

最佳答案

快速而肮脏的解决方案...

...仅手动检查您的聊天室是否接受 > 1 个用户:

使用 CTRL+SHIFT+N(或 Mac 上的 CMD+SHIFT+N)在 Chrome 中打开隐身窗口。此窗口不会与任何其他 Chrome 窗口共享 cookie,并且会让您有机会根据需要打开尽可能多的 Chrome 窗口以进行手动测试。

更高级的解决方案...

...这将允许您检查您的应用程序可以处理多少用户:

使用 JMeter 以快速创建测试,该测试将同时拥有您需要的大量用户(他们都有不同的 cookie)。

您的项目应如下所示:

- Test Plan
 - Thread Group
  - Cookie Manager
  - HTTP Request (performs login to your application)

简单地说,“线程组”将定义将对应用程序执行“HTTP 请求”以登录的用户数量,“Cookie 管理器”将负责 cookie(每个用户将获得一个唯一的) .

为了获得关于 JMeter 和测试计划元素的更多信息,请访问这些页面:

关于node.js - 多次登录的 Web 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29608530/

相关文章:

node.js - Electron ffi 重建问题 : command not found

python - 在 pytest 中,如何访问传递给测试的参数?

javascript - 如何防止 browser.driver.sleep

arrays - 测试一行是否在数组中的 Pythonic 方法

python - Selenium - 无法点击隐藏元素

mysql - 如何在查询中使用日期作为条件的同时,自动执行每天的 mysql 查询?

javascript - 在没有 JQuery 的 vanilla NodeJS 中检测 AJAX 请求

node.js - 使用 MEAN 堆栈进行用户注册和身份验证/授权

java - 如何在没有上传弹出对话框的情况下使用 selenium 上传多个文件?

javascript - Node.js EJS 快速验证器