我正在尝试使用JMeter的WebDriver Sampler在java中使用我的Selenium脚本。
在webdriver采样器内部,该语言被选择为java,并添加了以下代码:
package automationFramework;
public class FirstTestCase {
public static void main(String[] args) {
// Create a new instance of the Firefox driver
WebDriver driver = new ChromeDriver();
//Launch the Online Store Website
driver.get("www.google.com");
// Print a Log In message to the screen
System.out.println("Successfully opened the website www.google.com");
//Wait for 5 Sec
Thread.sleep(5);
// Close the driver
driver.quit();
}
}
我遇到以下错误:
java.net.MalformedURLException: unknown protocol: data
at java.net.URL.<init>(URL.java:600)
at java.net.URL.<init>(URL.java:490)
at java.net.URL.<init>(URL.java:439)
at com.googlecode.jmeter.plugins.webdriver.sampler.WebDriverSampler.sample(WebDriverSampler.java:80)
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:475)
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:418)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:249)
at java.lang.Thread.run(Thread.java:745)
然而,用javascripts编写的测试工作得很好。
这是什么问题?怎么解决?
答案 0 :(得分:4)
您不应该实例化WebDriver实例,JMeter会为您添加Chrome Driver Config元素并为您配置ChromeDriver可执行文件的路径。
完成后,您应该可以使用WDS.browser
简写,如:
WDS.sampleResult.sampleStart();
WDS.browser.get("http://google.com");
WDS.log.info("Successfully opened the website www.google.com");
Thread.sleep(5000);
WDS.sampleResult.sampleEnd();
另外,不要调用quit()
方法,测试完成后WebDriver实例将被关闭。
请参阅Using Selenium with JMeter's WebDriver Sampler指南以开始使用Selenium和JMeter。
答案 1 :(得分:2)
如果您使用的是带有Selenium 3.x.x的Chrome驱动程序2.28,则必须在打开浏览器之前设置Chrome驱动程序的路径。
添加此行:
res <- nearPoints(XYdata, input$plot1_click, xvar="Concn", yvar="Values", allRows = TRUE)
接下来,System.setProperty("webdriver.chrome.driver", "C:\\your_folder\\chrome.exe");
如果这有助于您,请告诉我。
答案 2 :(得分:0)
另一种方法是在jar文件中提取webdriver测试,然后在JMeter中使用junit测试运行。