2015-06-25 58 views
0

我被困在2天的某個任務上。我有JUnit測試,這將在JMeter的執行,這裏的代碼:在JUnit中執行每個步驟的時間

public class LoadTest5 extends TestCase { 
private WebDriver driver; 

public LoadTest5(){} 

public LoadTest5(String testName){ 
    super(testName); 
} 

@BeforeClass 
public void setUp() throws Exception { 
    super.setUp(); 
    driver = new FirefoxDriver(); 
    driver.get("link"); //just hide the link 
} 


@Test 
public void testTestLoad() throws InterruptedException { 
    driver.findElement(By.id("loginForm:authLogin")).sendKeys("LoadTest5"); 
    driver.findElement(By.id("loginForm:authPassword")).sendKeys("Abc123"); 
    driver.manage().timeouts().implicitlyWait(60, TimeUnit.MILLISECONDS); 
    driver.findElement(By.id("loginForm:btnLogin")).click(); 
    driver.manage().timeouts().implicitlyWait(2000, TimeUnit.MILLISECONDS); 
    driver.findElement(By.xpath(".//*[@id='settingsLink']/a")).click(); 
    driver.manage().timeouts().implicitlyWait(5000, TimeUnit.MILLISECONDS); 
    driver.findElement(By.xpath("//a[@class='logout']")).click(); 
     System.out.println(); 
} 

@AfterClass 
public void tearDown() throws Exception { 
    super.tearDown(); 
    driver.quit(); 
} 

} 

我將在JMeter的5線程中運行這個測試,我需要編寫所有步驟執行時間。例如:步驟 - 登錄:

driver.findElement(By.id("loginForm:authLogin")).sendKeys("LoadTest5"); 
     driver.findElement(By.id("loginForm:authPassword")).sendKeys("Abc123"); 
     driver.manage().timeouts().implicitlyWait(60, TimeUnit.MILLISECONDS); 
     driver.findElement(By.id("loginForm:btnLogin")).click(); 

計算它將執行多長時間並寫入.csv,並用其他步驟完成。我可以用一個測試來完成,但是如果它會是2或更多,我就無法使用一個.csv文件。 我該怎麼辦? 可能是某種方式在JMeter中執行此操作,並生成Graph結果?

+0

請注意,您的方法中的註釋將被忽略,因爲您的測試擴展了'junit.framework。 TestCase' – NamshubWriter

回答

0

我會建議你的步驟分成單獨的JUnit要求像

  • setUp Thread Group
    • JUnit的請求 - 初始化FirefoxDriver(S)
  • 主線程組
    • JUnit請求 - 打開登錄頁面
    • JUnit的請求 - 執行登錄
    • JUnit的請求 - 執行註銷
  • tearDown Thread Group
    • Junit的請求 - 退出Firefox驅動

您還可以使用WebDriver Sampler插件,它提供JMeter和Selenium的無縫集成,在這種情況下,您將能夠進行修改您的代碼可以直接在JMeter中使用,而無需在更改或更新的情況下重新編譯它,並以簡單的方式將測試分割爲單獨的採樣器。有關遷移和使用提示和技巧,請參閱The WebDriver Sampler: Your Top 10 Questions Answered

+0

我需要爲此使用java。如何將看起來我的代碼,如果我會喜歡你這樣寫道: 的setUp線程組 JUnit的請求 - 初始化FirefoxDriver(S) 主線程組 JUnit的請求 - 打開登錄頁面 JUnit的請求 - 執行登錄 JUnit的請求 - 執行註銷 拆卸線程組 Junit的請求 - 退出Firefox司機 你會寫嗎? –