2017-03-31 166 views
1
中找不到

我正在開發一個Jmeter beanshell腳本來與Selenium一起工作。我決定使用beanshell取樣器,這樣我就可以使用WDS界面中無法訪問的java和selenium命令。JMETER Beanshell(java.lang.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其他一些命令類似。

爲什麼這個命令沒有使用我的字符串?我可以運行完整的腳本和瀏覽器打開文件,所以我知道硒與Jmeter設置。這只是使用字符串的某些命令來執行此操作。

感謝 Ĵ

+1

您究竟如何將Selenium類添加到JMeter類路徑中? –

+0

它不會工作,除非你正確映射硒罐。我建議你使用網絡驅動程序取樣器。 Beanshell不容易獲得更好的性能。 –

回答

0

根據您的硒客戶端庫,你可能沒有這個方法以一個String作爲參數的版本。下面的行創建一個新的Beanshell Sampler

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

,展望JMeter的控制檯:你會看到javap command打印出所有的ChromeOptions類可用的方法,例如用於我的安裝(我有webdriver的採樣插件)它輸出以下:

Class類org.openqa.selenium.chrome.ChromeOptions延伸類java.lang

公共布爾org.openqa.selenium.chrome.ChromeOptions.equals(java.lang中。對象)

公衆詮釋org.openqa.selenium.chrome.ChromeOptions.hashCode()

公共無效org.openqa.selenium.chrome.ChromeOptions。 addArguments(java.lang.String [])

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

如果使用相同的硒庫版本(2.52.0),如我愛你應該這行改:

options.addArguments("start-maximized"); 

這一個:

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

而且您的腳本應該按預期工作。

請參閱How to Use BeanShell: JMeter's Favorite Built-in Component文章以獲取更多關於JMeter測試中Beanshell腳本編寫的信息。

相關問題