在类

时间:2017-03-31 17:53:53

标签: java selenium jmeter beanshell

我正在开发一个Jmeter beanshell脚本来与Selenium一起使用。我决定使用beanshell采样器,因此我可以使用WDS界面中无法访问的java和selenium命令。

我的代码工作正常,除了一些String输入。这是一个样本(拆除为准系统):

import org.openqa.selenium.chrome.ChromeOptions;

ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");

我收到此错误

2017/03/31 13:43:21 ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval   Sourced file: inline evaluation of: ``import org.openqa.selenium.chrome.ChromeOptions; debug();  ChromeOptions options . . . '' : Error in method invocation: Method addArguments( java.lang.String ) not found in class'org.openqa.selenium.chrome.ChromeOptions'  2017/03/31 13:43:21 WARN  - jmeter.protocol.java.sampler.BeanShellSampler: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import org.openqa.selenium.chrome.ChromeOptions; debug();  ChromeOptions options . . . '' : Error in method invocation: Method addArguments( java.lang.String ) not found in class'org.openqa.selenium.chrome.ChromeOptions'  201

我在sendkeys之类的其他命令中看到了这一点。

为什么这个命令不接受我的字符串?我可以运行完整的脚本,浏览器打开文件,所以我知道selenium是用jmeter设置的。只是某些命令使用字符串来执行此操作。

由于 Ĵ

1 个答案:

答案 0 :(得分:0)

根据您的Selenium客户端库版本,您可能没有此方法将单个String作为参数。使用以下行创建一个新的Beanshell Sampler

log.info(javap(org.openqa.selenium.chrome.ChromeOptions));

查看JMeter控制台:您将看到javap command打印出ChromeOptions类的所有可用方法,例如我的安装(我有WebDriver Sampler插件),它输出以下内容: / p>

  

类class org.openqa.selenium.chrome.ChromeOptions扩展类java.lang.Object

     

public boolean org.openqa.selenium.chrome.ChromeOptions.equals(java.lang.Object)

     

public int org.openqa.selenium.chrome.ChromeOptions.hashCode()

     

public void org.openqa.selenium.chrome.ChromeOptions。 addArguments(java.lang.String [])

     

public void org.openqa.selenium.chrome.ChromeOptions。 addArguments(java.util.List)

如果您像我一样使用相同的Selenium库版本(2.52.0),则应更改此行:

options.addArguments("start-maximized");

到这一个:

options.addArguments(new String[] {"start-maximized"});

您的脚本应该按预期开始工作。

有关JMeter测试中Beanshell脚本的更多信息,请参阅How to Use BeanShell: JMeter's Favorite Built-in Component文章。