Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从jmeter运行用java编写的selenium脚本?_Java_Selenium_Jmeter - Fatal编程技术网

如何从jmeter运行用java编写的selenium脚本?

如何从jmeter运行用java编写的selenium脚本?,java,selenium,jmeter,Java,Selenium,Jmeter,我正在尝试使用java中的Selenium脚本和JMeter的WebDriver采样器 在webdriver采样器中,语言被选择为java,并添加了以下代码: package automationFramework; public class FirstTestCase { public static void main(String[] args) { // Create a new instance of the Firefox driver W

我正在尝试使用java中的Selenium脚本和JMeter的WebDriver采样器

在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)
java.net.MalformedURLException:未知协议:数据
位于java.net.URL。(URL.java:600)
在java.net.URL.(URL.java:490)
在java.net.URL.(URL.java:439)
位于com.googlecode.jmeter.plugins.webdriver.sampler.WebDriverSampler.sample(WebDriverSampler.java:80)
位于org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:475)
位于org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:418)
位于org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:249)
运行(Thread.java:745)
然而,用Java脚本编写的测试工作得很好


这里有什么问题?如何解决

如果将Chrome驱动程序2.28与Selenium 3.x.x一起使用,则必须在打开浏览器之前设置Chrome驱动程序的路径

添加此行:
System.setProperty(“webdriver.chrome.driver”,“C:\\your\u folder\\chrome.exe”)

接下来,
WebDriver


如果这对您有帮助,请告诉我。

如果您将Chrome驱动程序2.28与Selenium 3.x.x一起使用,则必须在打开浏览器之前设置Chrome驱动程序的路径

添加此行:
System.setProperty(“webdriver.chrome.driver”,“C:\\your\u folder\\chrome.exe”)

接下来,
WebDriver


如果这对您有帮助,请告诉我。

您不应该实例化WebDriver实例,只要您将元素添加到测试计划中并配置ChromeDriver可执行文件的路径,JMeter就会为您进行实例化

完成后,您应该能够使用
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实例将被关闭


请参阅《硒和JMeter集成入门指南》

您不应该实例化WebDriver实例,只要您将元素添加到测试计划中并配置ChromeDriver可执行文件的路径,JMeter就会为您进行实例化

完成后,您应该能够使用
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实例将被关闭


请参阅《硒和JMeter集成入门指南》

另一种方法是在jar文件中提取webdriver测试,然后在JMeter中使用junit测试运行。

另一种方法是在jar文件中提取webdriver测试,然后在JMeter中使用junit测试运行。

不,这不起作用。浏览器出现、闪烁并停止(与以前一样)。我认为这是jmeter中与配置相关的问题。不,它不起作用。浏览器出现、闪烁并停止(与以前一样)。我认为这是jmeter中与配置相关的问题。我不能用正确的java语法定义类吗?也就是说,我可以在这里复制粘贴我的selenium脚本,使其按预期工作,或者脚本需要根据jmeter的格式进行更改吗?使用WebDriver Sampler,您不能。您可以查看sampler,在那里您有完全的自由,如果您的测试是基于JUnit的,那么您甚至不需要更改它们。请参阅如何开始这篇文章。我不能用正确的java语法定义类吗?也就是说,我可以在这里复制粘贴我的selenium脚本,使其按预期工作,或者脚本需要根据jmeter的格式进行更改吗?使用WebDriver Sampler,您不能。您可以查看sampler,在那里您有完全的自由,如果您的测试是基于JUnit的,那么您甚至不需要更改它们。请参阅如何开始阅读本文。