如何在 JMeter 的 Webdriver Sampler 中使用 Selenium
WebDriver采样器对于测试AJAX,基于GWT的Web应用程序和模拟的用户操作的性能很有用。要将Selenium Webdriver与JMeter一起使用,只需安装“ Webdriver Set”插件。
您可以使用 JMeter 插件管理器安装 Webdriver。
照常编写WebDriver脚本,然后将“线程组”添加到“测试计划”。
添加配置元素:
-> HTTP Cookie Manager, Config Element -> jp@gc - Firefox Driver Config, Sampler -> jp@gc - Web Driver Sampler, Listener -> View Results Tree
结果如下:
您不需要配置两个config元素–您可以省略该步骤。打开“ Web Driver Sampler”并添加以下代码:
var pkg = JavaImporter(org
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();
(请放心,如果整个代码看起来还不清楚,我们将在下面重新讨论)。
现在,尝试开始测试。无论做什么,都不要更改“线程组”值。它们都必须设置为1。
您应该看到将打开网站的新Firefox窗口。 测试开始后,打开“查看结果树”以确认没有错误。如果响应代码为“ 200”且响应消息为“确定”,则测试运行成功。如果不是,请检查WebDriver脚本中是否有错误。
我们的代码从导入的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()捕获并跟踪采样器的时间。您可以删除它们。该脚本仍然可以运行,但是无法获得加载时间:
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') - 记录一条消息。
为了简化选择器的使用,请安装Selenium IDE加载项。Selenium IDE是Firefox附加组件,带有用于在浏览器中进行操作的记录选项。要获得类似的选择器,请下载并安装加载项。(请确保下载.xpi文件。)
打开百度和Selenium IDE。设置Selenium IDE的基本URL https://www.baidu.com/。输入“ fit2cloud”,然后单击“搜索”。如果打开Selenium IDE,则会看到捕获的动作和选择器。
可以将所有捕获的数据手动转换为WebDriver格式(请参见下文)。
飞致云学堂
飞致云旗下知识平台