2016-10-26 2 views
0
@Test(priority = 0) 
public void verify_Templete_BG(){ 
    logger =report.startTest("Verify TempleteBG"); 
    String expectedBG = "White"; 
    for(int pageNo = 1; pageNo<=3 ; pageNo++){ 
     Assert.assertTrue(expectedBG.equals("White")); 
    } 
    System.out.println("TC1 Pass"); 
    logger.log(LogStatus.PASS, "TC1 Pass"); 
} 

В приведенной выше примерной программе у меня есть некоторые сомнения.Уточнить мои сомнения в testng увеличить отчет

  1. Если цикл 2 не работает (цикл 1 и цикл 3 проходят), что будет выводиться. Проходит ли этот тест или терпит неудачу.
  2. Если цикл 3 завершается неудачно (цикл 1 и цикл 2 проходят), что будет выводиться. Проходит ли этот тест или терпит неудачу.
  3. Или иначе, как узнать, какой цикл получил сбой.
+0

Случай 1: Если он не работает в цикле 2, тестовый пример выходит из строя и немедленно останавливается. Он даже не запускает 3-й цикл. То же самое с случаем 2. Для случая 3: для assert.assertTrue(), я думаю, у вас может быть другой параметр, дайте там какое-то сообщение. Например: 'Assert.assertTrue (ваше условие,« Failed in loop - »+ pageno);'. Пожалуйста, проверьте синтаксис, я использую C#, поэтому понятия не имею о синтаксисе Java – Sudeepthi

ответ

0

Если какое-либо утверждение не удастся, тестовый пример немедленно завершится.

Вы можете добавить небольшой код и проверить свои результаты. Отрегулируйте значения actualBG для разных петель, чтобы быть тем, что вы хотите. Код, приведенный ниже, установлен для случая 1, для отказа в петле 2.

@Test(priority = 0) 
public void verify_Templete_BG() 
{ 
    logger = report.startTest("Verify TempleteBG"); 
    String expectedBG = "White"; 
    String actualBG = ""; 
    for (int pageNo = 1; pageNo <= 3; pageNo++) 
    { 
     switch (pageNo) 
     { 
      case 1: 
       actualBG = "White"; 
       break; 
      case 2: 
       actualBG = "Black"; 
       break; 
      case 3: 
       actualBG = "White"; 
       break; 
      default: 
       break; 
     } 
     Assert.assertTrue(expectedBG.equals(actualBG)); 
    } 
    System.out.println("TC1 Pass"); 
    logger.log(LogStatus.PASS, "TC1 Pass"); 
} 
0

Предполагая, что ваш - это отчеты о масштабах. Экземпляры отчетов на самом деле печатают пошаговые результаты для каждого теста. Таким образом, вы можете изменить его, как показано ниже. .

@Test(priority = 0) 
public void verify_Templete_BG(){ 
    logger =report.startTest("Verify TempleteBG"); 
    String expectedBG = "White"; 
    for(int pageNo = 1; pageNo<=3 ; pageNo++){ 
     if(Assert.assertTrue(expectedBG.equals("White"))) 
      logger.log(LogStatus.PASS, pageNo +" Loop Passed"); 
     else 
      logger.log(LogStatus.Fail, pageNo +" Loop Failed"); 
    } 
    report.endTest(logger); 
    report.flush(); 
} 

assertTrue возвращает истину или ложь в зависимости от состояния вы передаете в Когда это правда, вы будете печатать PageNo - Loop пройдена. Иначе вы напечатаете его как неудачный.