2015-06-25 4 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(); 
} 

} 

Я запустить этот тест в 5 нити в JMeter, и мне нужно написать выполнить время для всех шагов. Например, Шаг - Логин:

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)
  • Главная группа Thread
    • Запрос JUnit - Open Login Страница
    • JUnit Запрос - Выполнение Войти
    • JUnit Запрос - Выполните Выход
  • tearDown Thread Group
    • Junit Request - Выход Firefox Driver

Вы можете также использовать WebDriver Sampler плагин, который обеспечивает бесшовная интеграция JMeter и Selenium, в этом случае вы сможете изменить ваш код прямо в JMeter без необходимости перекомпилировать его в случае изменений или обновлений и проще разделить ваши тесты в отдельных пробоотборниках. См. The WebDriver Sampler: Your Top 10 Questions Answered для получения справок и рекомендаций по использованию и использованию.

+0

Мне нужно использовать java для этого. Как будет смотреться мой код, если я буду делать, как Вы писали: нАлАдкА Thread Group JUnit Request - Initialize FirefoxDriver (s) Главная тема Группа JUnit Request - Open Войти Страница JUnit Запрос - Выполнение Войти JUnit Запрос - Выйти из системы tearDown Тема группы Junit Request - Выход из драйвера Firefox Вы можете написать? –

Смежные вопросы