jmeter - 模拟多用户访问多个 URL 提交表单
问题描述
我想为以下场景开发负载测试工具:
- 从访问 WebForms 的 listUrls.txt 中读取列表 URL
- 在浏览器的一个窗口/选项卡上运行每个 URL,然后同时单击提交按钮。我研究了 selenium webDriver 和 Jmeter,但很难构建它。有什么解决方案来模拟这个吗?
解决方案
下面的快照是使用 csv 获取 URL 并使用 webdriver 采样器在浏览器中打开它们。我已经使用 csv 数据集配置从 csv 文件中获取 URL。您需要根据您的选择使用 Firefox/Chrome/InternetExplorer 驱动程序配置来配置浏览器。Firefox 很简单,但其他两个需要 selenium 浏览器 exe 来启动浏览器。
要在网络表单中输入数据,请检查以下内容以熟悉语法:-
var pkg = JavaImporter(org.openqa.selenium); //WebDriver classes
var support_ui = JavaImporter(org.openqa.selenium.support.ui.WebDriverWait);//WebDriver classes
var wait = new support_ui.WebDriverWait(WDS.browser, 5000);
WDS.sampleResult.sampleStart();//captures sampler’s start time
WDS.sampleResult.getLatency();
WDS.log.info("Sample started");
WDS.browser.get('http://duckduckgo.com')//opens website specified in 'http://duckduckgo.com'
WDS.log.info("Sample ended - navigated to duckduckgo.com");
var searchField = WDS.browser.findElement(pkg.By.id('search_form_input_homepage'))//saves search field into searchField
searchField.click()//clicks search field
searchField.sendKeys(['blazemeter'])//types word “blazemeter” in field
WDS.log.info("Searched for BlazeMeter");
var button = WDS.browser.findElement(pkg.By.id('search_button_homepage'))//Find Search button
button.click()//Click Search Button
WDS.log.info("Clicked on the search button");
var link = WDS.browser.findElement(pkg.By.cssSelector('#r1-0 > div > h2 > a.result__a > b'))//also saves selector as variable but uses CSS.
link.click()//Click the search result's Link
WDS.sampleResult.sampleEnd();
有关如何为网络表单设置和编写代码的更多信息......请查看以下链接:- https://guide.blazemeter.com/hc/en-us/articles/207421245-Selenium-Webdriver-Based-Testing https://www.blazemeter.com/blog/jmeter-webdriver-sampler
希望这可以帮助。
推荐阅读
- c# - C# - Outlook VSTO - Exchange - "GetFolderFromID" 消息接口返回未知错误
- javascript - 为什么没有定义ID?
- swift - 如何使 RealmSwift RealmOptional 与 Swift Codable 兼容?
- python - bluebooth 的 Python 属性错误
- .net - 使用路径前缀在生产环境中运行 asp.net core 应用程序
- webpack - 将 webpack 输入文件路径合并到输出文件路径中
- javascript - querySelector() 返回静态节点列表或活动节点列表
- python-sphinx - 带有自动模块的 Sphinx 目录树
- python - 数据框对象在 pyspark 中不可调用
- typescript - 在angular6中使用carosel显示值列表