2014-11-05 72 views
1

我被困在這一點。我成功地多次使用過Junit Sampler。但是這次我嘗試運行簡單的程序時遇到以下錯誤。Jmeter - JUnit Sampler

我試過不同版本的測量儀。 我複製了硒服務器文件jemeter/lib目錄 我複製的jar文件的lib/JUnit的

我想他們的測試類和我想盡類

2014年11月5日16時27分23秒INFO - jmeter.protocol.java.sampler.JUnitSampler:試圖找到構造帶一個字符串參數返回錯誤:test.BeforeAnnotatedTest(java.lang.String中)**

整個堆棧跟蹤

十一分之二千零十四/ 05 16:27:23信息 - jmeter.engine.StandardJMeterEngine:運行測試! 2014/11/05 16:27:23信息 - jmeter.samplers.SampleEvent:sample_variables列表:[] 2014/11/05 16:27:23信息 - jmeter.gui.util.JMeterMenuBar:setRunning(true, 本地) 2014/11/05 16:27:23信息 - jmeter.engine.StandardJMeterEngine:啓動ThreadGroup:1:線程組 2014/11/05 16:27:23信息 - jmeter.engine.StandardJMeterEngine:啓動1組線程組的線程。 2014/11/05 16:27:23信息 - jmeter.engine.StandardJMeterEngine:線程將在出錯時停止 2014/11/05 16:27:23信息 - jmeter.threads.ThreadGroup:啓動線程組號1線程1加速1 perThread 1000.0 delayedStart = false 2014/11/05 16:27:23信息 - jmeter.threads.ThreadGroup:啓動線程組編號1 2014/11/05 16:27:23信息 - jmeter.engine。 StandardJMeterEngine:所有線程組已啓動 2014/11/05 16:27:23信息 - jmeter.threads.JMeterThread:線程開始:線程組1-1 2014/11/05 16:27:23信息 - jmeter .protocol.java.sampler.JUnitSampler:嘗試使用一個String參數查找構造函數返回錯誤:test.BeforeAnnotatedTest。(java.lang.String) 2014/11/05 16:27:23 INFO - jm eter.threads.JMeterThread:停止線程檢測線程:線程組1-1 2014/11/05 16:27:23信息 - jmeter.threads.JMeterThread:線程完成:線程組1-1 2014/11/05 16:27:23 INFO - jmeter.engine.StandardJMeterEngine:通知測試結束測試的聽衆 2014/11/05 16:27:23信息 - 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。測試;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.firefox.FirefoxDriver;

公共類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"); 

} 
} 

請幫助!!!!

+0

快速修復是在你的類中創建兩個構造函數,一個不帶參數,另一個帶字符串參數,我認爲JUnitSample.java中存在一個錯誤。再找一段時間閱讀代碼。 – FastZhong 2016-01-18 08:01:58

回答

0

您的代碼看起來不錯,並且沒有問題。確保滿足以下條件:

  1. 你的類打包成.jar文件,並投進你的JMeter安裝的/ lib中/ JUnit的文件夾(或替代地由下財產user.classpath指定位置)
  2. 尋找到您的@Before@Test註釋 - 您正在使用JUnit4。在這種情況下,你需要勾選Search for JUnit4 annotations框下面的JUnit的請求採樣:

JUnit4 annotations

How to Use JUnit With JMeter指南綜合演練在JMeter的使用JUnit的各個方面。

P.S.通過JMeter Plugins可以更容易地考慮WebDriver Sampler

+0

創建Junit請求沒有問題(檢測到Junit 4,類名和測試方法)。錯誤是在運行時出現的。 – FastZhong 2016-01-18 07:26:20

0

我有類似的問題。它解決了下載新的Jmeter實例,安裝Selenium/WebDriver Support插件和Selenium Server Standalone jar。所以這個錯誤可能只是因爲在Jmeter Lib文件夾中沒有需要Jar。

+0

這應該是評論。 – jjj 2017-02-17 11:43:16

+0

我正在通過Stackoverflow尋找我遇到的問題,但答案並未解決問題。我用新的安裝解決了它,所以想到註冊併發布建議。不知道答案和評論之間的區別。 。謝謝你讓我知道他們之間的差異! – Jim 2017-02-17 15:54:59

0

我面臨着同樣的問題,它解決了添加System.setProperty和我dint添加任何其他構造函數(默認構造函數和任何參數構造函數,我甚至試圖用這兩個構造函數,即使它不工作,然後我加入System.setProperty它的工作),

對於Firefox,

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

這解決了我的問題。

相關問題