模拟多用户对多个URL的访问以提交表单

时间:2018-06-22 02:27:04

标签: jmeter selenium-grid

我想为以下情况开发负载测试工具:

  1. 从listUrls.txt中读取可访问WebForms的列表URL
  2. 在浏览器的一个窗口/选项卡上运行每个URL,然后同时单击Submit(提交)按钮。 我研究了硒webDriver和Jmeter,但是很难构建它。有模拟的解决方案吗?

1 个答案:

答案 0 :(得分:0)

下面的快照使用csv获取URL,并使用webdriver sampler在浏览器中打开它们。我已使用csv数据集配置从csv文件中获取URL。 您需要根据选择使用Firefox / Chrome / InternetExplorer驱动程序配置浏览器。 Firefox很简单,但另外两个需要使用硒浏览器exe来启动浏览器。

enter image description here

要在网络表单中输入数据,请检查以下内容以熟悉语法:-

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();

有关如何设置和编写Web表单代码的更多信息...请检查以下链接:- https://guide.blazemeter.com/hc/en-us/articles/207421245-Selenium-Webdriver-Based-Testing https://www.blazemeter.com/blog/jmeter-webdriver-sampler

希望这会有所帮助。