使用jmeter的无头浏览器

时间:2016-08-30 12:30:26

标签: jmeter jmeter-plugins

我尝试使用(jp @ gc - HtmlUnit Driver Config)使用jmeter创建无头浏览器测试,但是我收到此错误

响应消息:com.gargoylesoftware.htmlunit.ScriptException:ReferenceError:未定义“getComputedStyle”。

我在线阅读并建议jp @ gc - HtmlUnit Driver Config不支持javascript。有没有办法通过jmeter来解决这个问题?或者是否有其他选项来进行无头浏览器测试。我有linux服务器作为加载注入器

更新

我有一个webdriver采样器可以打开谷歌页面

  

WDS.sampleResult.sampleStart()WDS.browser.get('http://google.com')   WDS.sampleResult.sampleEnd()

已经下载了Phanton JS,但是当我运行它时,报告中没有显示任何内容。我应该添加任何其他配置吗?

enter image description here

1 个答案:

答案 0 :(得分:1)

HtmlUnit 不支持JS。

我做了很多测试并且使用了每一个,我可以说 PHANTOMJS 是最好的,并且得到了所有JS / CSS的良好支持......有一个漂亮的渲染器可以获得很好的截图。 通过代码你可以像这样使用它(你可以从这里下载http://phantomjs.org/download.html(phantomjs-1.9.8非常稳定)):

Capabilities caps = new DesiredCapabilities();
                ((DesiredCapabilities) caps).setJavascriptEnabled(true);                
                ((DesiredCapabilities) caps).setCapability("takesScreenshot", true);  
                ((DesiredCapabilities) caps).setCapability(
                        PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY,
                        "your custom path\\phantomjs.exe"
                    );
 WebDriver   driver = new  PhantomJSDriver(caps);

如果您想通过JMeter GUI执行此操作,则需要在Logic Controller元素JSR223 Sampler之前添加org.openqa.selenium.Capabilities caps = new org.openqa.selenium.remote.DesiredCapabilities(); ((org.openqa.selenium.remote.DesiredCapabilities) caps).setJavascriptEnabled(true); ((org.openqa.selenium.remote.DesiredCapabilities) caps).setCapability("takesScreenshot", true); ((org.openqa.selenium.remote.DesiredCapabilities) caps).setCapability( org.openqa.selenium.phantomjs.PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, "your custom path\\phantomjs.exe"); org.openqa.selenium.WebDriver driver = new org.openqa.selenium.phantomjs.PhantomJSDriver(caps); org.apache.jmeter.threads.JMeterContextService.getContext().getCurrentSampler().getThreadContext() .getVariables().putObject(com.googlecode.jmeter.plugins.webdriver.config.WebDriverConfig.BROWSER, driver); JSR223_Sampler 并在脚本面板中:

public static final String imageAttachment="css=img[data-mce-src^='cid']&&[data-mce-src$='@']"; 

如果您需要更多信息,请不要犹豫。