【问题标题】:separating environments for concurrent users using JMeter & selenium webdriver使用 JMeter 和 selenium webdriver 为并发用户分离环境
【发布时间】:2017-08-17 13:55:50
【问题描述】:
如何使用 webdriver 为每个 JMeter 线程分离环境来测试 ASP.net 网站?我正在尝试登录(使用具有表文件的不同用户)并且测试失败,因为从一个线程(即浏览器窗口)保存的 cookie 中断了其他线程。
【问题讨论】:
标签:
selenium-webdriver
jmeter
jmeter-plugins
【解决方案1】:
通常 JMeter 线程(虚拟用户)不共享任何数据,有关详细信息,请参阅 ThreadLocal 概念。
对于WebDriver Sampler,每个 JMeter 线程都应该启动一个单独的浏览器实例,因此不应该有任何冲突,因为每个浏览器都应该绑定到具有自己的凭据、cookie、缓存等的不同用户。
根据 WebDriver Sampler documentation,我建议重新考虑您的测试设计:
注意:本项目无意替换 JMeter 中包含的 HTTP 采样器。相反,它旨在通过测量最终用户加载时间来赞美它们。
浏览器是非常资源密集型的,因此您不太可能使用中档笔记本电脑启动超过 10 个浏览器,而使用 HTTP Request 采样器您将能够模仿数百个或甚至成千上万的虚拟用户。因此,我建议使用 HTTP 请求采样器创建主要负载,并使用 1-2 个 WebDriver 采样器实例来测量系统处于负载下的页面呈现速度。
有关使用 JMeter 测试 ASP.NET Web 应用程序的更多信息,请参阅ASP.NET Login Testing with JMeter 文章。