我有客户的报告,我们的网络应用程序上的上传文件功能有时无法正常工作。我们在内部进行了测试,但确实没有发生。所以我使用JMeter在Web应用程序上执行性能测试(模拟1000个用户同时上传)。我的经理表示,图表Resutls以及JMeter的摘要报告在这种情况下无法帮助检测出问题所在。他询问JMeter是否可以在UI上实际上传,我们可以看到发生了什么。
据我所知,JMeter毕竟是一个模拟器,它不能像Selenium WebDriver那样与网络浏览器互动(?!)。无论如何都要进行上传按钮的Performace测试,我们实际上可以在WepApp上看到它吗?我希望我的问题有道理。
由于
答案 0 :(得分:1)
您可以将WebDriver添加到JMeter,以便与完全呈现的网页进行交互。
Web Driver Sampler自动执行和收集 浏览器(客户端)上的性能指标。很大一部分 到目前为止,性能测试一直在服务器端 的东西。但是,随着技术的进步,HTML5,JS和CSS 改进,越来越多的逻辑和行为被推倒 给客户。这增加了整体感知的表现 website / webapp,但此指标在JMeter中不可用。事情 添加到整个浏览器执行时间可能包括:
客户端Javascript执行 - 例如。 AJAX,JS模板CSS 变换 - 例如。 3D矩阵变换,动画第三方插件 - 例如。 Facebook喜欢,双击广告,网站分析等所有这些 事情增加了整个浏览器的执行时间和这个项目 旨在衡量完成渲染所需的时间 内容。
例如,您可以将此Javascript代码添加到“脚本”部分,以便导航到Google。
WDS.sampleResult.sampleStart()
WDS.browser.get('http://google.com')
WDS.sampleResult.sampleEnd()
答案 1 :(得分:0)
浏览器没有做任何魔术,他们只是发送HTTP requests并呈现回复。 JMeter可以通过其HTTP Request采样器执行HTTP请求,因此从后端服务器的角度来看,文件上传是由真实浏览器还是由JMeter进行。
请参阅How to make JMeter behave more like a real browser文章,了解如何正确配置JMeter,以便您的测试更加真实。
关于Graph Result和Summary Report - 我不认为他们讲的是完整的故事。我建议采用以下方法: