JMeter的 - JUnit的采样(Jmeter - JUnit Sampler)

2019-10-21 05:42发布

我被困在这一点上。 以前我多次成功使用了JUnit的采样。 但是,这一次试图运行简单的程序,我得到以下错误。

我尝试了多种不同版本jemeter的。 我复制了硒服务器文件jemeter / lib中我复制的jar文件的lib / JUnit的

我想他们的测试类,我尝试我的课

2014/11/05 16:27:23 INFO  - jmeter.protocol.java.sampler.JUnitSampler: Trying to find constructor with one String parameter returned error: test.BeforeAnnotatedTest.<init>(java.lang.String)** 

整个堆栈跟踪:

2014/11/05 16:27:23 INFO  - jmeter.engine.StandardJMeterEngine: Running the test! 
2014/11/05 16:27:23 INFO  - jmeter.samplers.SampleEvent: List of sample_variables: [] 
2014/11/05 16:27:23 INFO  - jmeter.gui.util.JMeterMenuBar: setRunning(true,*local*) 
2014/11/05 16:27:23 INFO  - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group 
2014/11/05 16:27:23 INFO  - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group Thread Group. 
2014/11/05 16:27:23 INFO  - jmeter.engine.StandardJMeterEngine: Thread will stop on error 
2014/11/05 16:27:23 INFO  - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 1 perThread 1000.0 delayedStart=false 
2014/11/05 16:27:23 INFO  - jmeter.threads.ThreadGroup: Started thread group number 1 
2014/11/05 16:27:23 INFO  - jmeter.engine.StandardJMeterEngine: All thread groups have been started 
2014/11/05 16:27:23 INFO  - jmeter.threads.JMeterThread: Thread started: Thread Group 1-1 
**2014/11/05 16:27:23 INFO  - jmeter.protocol.java.sampler.JUnitSampler: Trying to find constructor with one String parameter returned error: test.BeforeAnnotatedTest.<init>(java.lang.String)** 
2014/11/05 16:27:23 INFO  - jmeter.threads.JMeterThread: Stop Thread detected by thread: Thread Group 1-1 
2014/11/05 16:27:23 INFO  - jmeter.threads.JMeterThread: Thread finished: Thread Group 1-1 
2014/11/05 16:27:23 INFO  - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test 
2014/11/05 16:27:23 INFO  - jmeter.gui.util.JMeterMenuBar: setRunning(false,*local*) 

这里是我的类:

package jmeter;

import java.io.File;    
import java.util.Iterator;    
import java.util.Set;    
import java.util.concurrent.TimeUnit;    
import org.apache.log4j.Logger;    
import org.junit.Before;    
import org.junit.BeforeClass;    
import org.junit.Test;    
import org.openqa.selenium.By;    
import org.openqa.selenium.WebDriver;    
import org.openqa.selenium.firefox.FirefoxDriver;

public class ShoppingCartTest {

  public  WebDriver driver=null;

  //Initializes/loads  the driver based on type of browser defined in config file
  @Before
  public void initDriver(){
      driver =new FirefoxDriver();
      driver.manage().timeouts().pageLoadTimeout(120, TimeUnit.SECONDS);
      driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
  }

  @Test
  public void verifyAnItemToWishList() throws InterruptedException{
    driver.get("http://www.google.com")     
    System.out.println("done");

  } 
}   

Answer 1:

您的代码看起来不错,没有任何问题存在。 确保满足以下条件:

  1. 你的类打包成.jar文件,并投进你的JMeter安装的/ lib中/ JUnit的文件夹(或替代地由下指定位置user.classpath属性)
  2. 寻找到你的@Before@Test注解-你使用JUnit4。 在这种情况下,你需要勾选Search for JUnit4 annotations在下面的JUnit的请求采样箱:

请参阅如何使用JUnit用JMeter在JMeter的使用JUnit的方方面面指南综合演练。

PS它可能会更容易考虑webdriver的采样可通过JMeter的插件呢?



Answer 2:

我有类似的问题。 它得到了解决上下载的JMeter的新实例,安装硒/ webdriver的支持插件和Selenium服务器独立罐子。 所以这个错误可能的JMeter库文件夹中没有所需的jar只是因为。



Answer 3:

我正面临同样的问题,它得到了添加了System.setProperty解决,我不力添加任何其他的构造函数(默认构造函数以及任何参数的构造函数,我曾与连这些2构造函数试图即使如此,它是不工作的话,我加入系统。的setProperty它的工作),

对于Firefox,

    System.setProperty("webdriver.gecko.driver", "D:\\geckodriver.exe");
    WebDriver driver = new FirefoxDriver();

这解决了我的问题。



文章来源: Jmeter - JUnit Sampler
标签: junit jmeter jmx