Javascript 使用k6进行Meteor应用程序负载测试,等待车身元件
k6新手,使用一个web应用程序,在加载css和js文件时在主页上简要显示微调器 一旦文件被加载并且脚本可用,就会添加一个登录表单(替换微调器)Javascript 使用k6进行Meteor应用程序负载测试,等待车身元件,javascript,node.js,meteor,load-testing,k6,Javascript,Node.js,Meteor,Load Testing,K6,k6新手,使用一个web应用程序,在加载css和js文件时在主页上简要显示微调器 一旦文件被加载并且脚本可用,就会添加一个登录表单(替换微调器) 对于k6,是否有一种方法可以等待特定的主体元素(登录表单)在主体中可用,然后再继续下一步(即填充用户名和pwd并提交表单以登录) 目前,当我查看响应主体时,我只看到微调器元素。添加延迟似乎不会影响返回的正文,即使理论上登录表单应该已经添加到页面中 如果在初始页面加载后将元素添加到正文中,k6是否会检测到该元素并在响应中提供该元素 谢谢你的帮助 Bi
- 对于k6,是否有一种方法可以等待特定的主体元素(登录表单)在主体中可用,然后再继续下一步(即填充用户名和pwd并提交表单以登录)
Billk6不像浏览器那样工作——负载测试是用JavaScript编写的,但是当您请求HTML文件时,该文件中的JavaScript不会执行。即使使用
eval()
或类似的工具,它通常也无法执行,因为k6没有DOM或任何常见的浏览器API。因此,您必须明确指定希望k6脚本发出的任何HTTP请求,在您的情况下,我假设微调器和登录表单是由主页中某个地方的JavaScript生成的
为了在使用k6时简化处理此类高度动态的网站,您可以在浏览器中正常使用该网站,将浏览器会话记录为文件并导出,然后使用如下命令将该
.har
文件转换为k6脚本:k6 convert session.har-O k6_script.js
。您可以找到有关整个过程的更多信息。k6不执行客户端代码,也不呈现任何内容。它对目标系统发出请求并加载它们。这使得提出大量需求变得高效,但在某些情况下会产生必须解决的新问题
--仅
或--跳过
。更多信息请点击此处:
VIEWSTATE
,如果您正在测试.NET应用程序,则需要指示VU从响应正文中提取VIEWSTATE,并在需要它的请求中重新使用它谢谢你的链接,KyleExcellent!这似乎奏效了。现在,我需要花一些时间挖掘转换后的.har,微调内容,并学习如何更详细地使用k6。谢谢你的提示!我也在使用--nice工具组合。在深入查看结果和附加测试后,似乎录制没有完成整个过程(即等待登录表单添加到页面、提交表单、登录等)。我会继续修修补补,以确保我能让这项工作,但不幸的是,我可能不得不去一个不同的方向。谢谢你的建议!k6最终可能是对API进行负载测试的一个很好的解决方案,但由于网站本身的动态/交互性质,看起来Selenium可能需要成为负载测试组合的一部分。