vlambda博客
学习文章列表

如何在 JMeter 的 Webdriver Sampler 中使用 Selenium



点击上方蓝字关注我们    


WebDriver采样器对于测试AJAX,基于GWT的Web应用程序和模拟的用户操作的性能很有用。要将Selenium Webdriver与JMeter一起使用,只需安装“ Webdriver Set”插件。


01
安装配置


您可以使用 JMeter 插件管理器安装 Webdriver。


照常编写WebDriver脚本,然后将“线程组”添加到“测试计划”。

 


添加配置元素:

-> HTTP Cookie Manager, Config Element -> jp@gc - Firefox Driver Config, Sampler -> jp@gc - Web Driver Sampler, Listener -> View Results Tree


结果如下:


如何在 JMeter 的 Webdriver Sampler 中使用 Selenium

您不需要配置两个config元素–您可以省略该步骤。打开“ Web Driver Sampler”并添加以下代码:

var pkg = JavaImporter(org
var pkg = JavaImporter(org.openqa.selenium); //WebDriver classesvar support_ui = JavaImporter(org.openqa.selenium.support.ui.WebDriverWait); //WebDriver classesvar wait = new support_ui.WebDriverWait(WDS.browser, 5000);
WDS.sampleResult.sampleStart(); //captures sampler's start timeWDS.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 searchFieldsearchField.click(); //clicks search fieldsearchField.sendKeys(['blazemeter']); //types word "blazemeter" in fieldWDS.log.info("Searched for BlazeMeter");
var button = WDS.browser.findElement(pkg.By.id('search_button_homepage')); //Find Search buttonbutton.click(); //Click Search ButtonWDS.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();

(请放心,如果整个代码看起来还不清楚,我们将在下面重新讨论)。


现在,尝试开始测试。无论做什么,都不要更改“线程组”值。它们都必须设置为1。


如何在 JMeter 的 Webdriver Sampler 中使用 Selenium


您应该看到将打开网站的新Firefox窗口。 测试开始后,打开“查看结果树”以确认没有错误。如果响应代码为“ 200”且响应消息为“确定”,则测试运行成功。如果不是,请检查WebDriver脚本中是否有错误。


02
Review 代码


我们的代码从导入的Java包“ org.openqa.selenium”和“ org.openqa.selenium.support.ui.WebDriverWait”开始,它们允许您使用WebDriver类。


这是WebDriver软件包的便捷列表。


如果要使用任何软件包,请使用JavaImporter导入它们:

var action = JavaImporter(org.openqa.selenium.PACKAGENAME.CLASSNAME)

WDS.sampleResult.sampleStart()和WDS.sampleResult.sampleEnd()捕获并跟踪采样器的时间。您可以删除它们。该脚本仍然可以运行,但是无法获得加载时间:

如何在 JMeter 的 Webdriver Sampler 中使用 Selenium


  • WDS.browser.get('http://wwwfit2cloud.com') - 打开网站http://wwwfit2cloud.com

 

  • var searchField = WDS.browser.findElement(pkg.By.id('search_form_input_homepage'))  - 将搜索字段保存到searchField变量中。

 


  • searchField.click() -单击搜索字段。

 


  • searchField.sendKeys(['fit2cloud'])  -在字段中键入“ fit2cloud”

 


  • var link = WDS.browser.findElement(pkg.By.ByCssSelector('#r1-0 > div > h2 > a.result__a > b')) - 将选择器另存为变量,但使用CSS。

 


  • WDS.log.info(WDS.name + ' has logged an entry') - 记录一条消息。


03
如何使用选择器


为了简化选择器的使用,请安装Selenium IDE加载项。Selenium IDE是Firefox附加组件,带有用于在浏览器中进行操作的记录选项。要获得类似的选择器,请下载并安装加载项。(请确保下载.xpi文件。)


 

打开百度和Selenium IDE。设置Selenium IDE的基本URL https://www.baidu.com/。输入“ fit2cloud”,然后单击“搜索”。如果打开Selenium IDE,则会看到捕获的动作和选择器。


可以将所有捕获的数据手动转换为WebDriver格式(请参见下文)。



















飞致云学堂

飞致云旗下知识平台












♫. ♪ ~ ♬..♩~ ♫. ♪..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩
♫. ♪ ~ ♬..♩~ ♫. ♪..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩






















♫. ♪ ~ ♬..♩~ ♫. ♪..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩
♫. ♪ ~ ♬..♩~ ♫. ♪..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩..♩~ ♫. ♪ ~ ♬..♩