Неудачные тесты отображаются как проходные в выходных данных testng - PullRequest
0 голосов
/ 17 октября 2018

У меня есть два разных тестовых теста 1. Вход в систему 2. Выбор даты.то, что я делаю здесь, в средстве выбора даты я дал прошедшую дату, поэтому я получаю предупреждающее сообщение как «Дата не может быть прошедшей. В выводе testng я получаю предупреждающее сообщение, но почему мой результат отображается как passedike 1.Bookпутешествие пройдено 2. Выбор даты - пройден. Я хочу, чтобы выборка даты была показана как неудачная в выводе testng. Кто-то, пожалуйста, перефразируйте этот код. Я новичок в testng. TIA

Пожалуйста, переформатируйте этот код.У меня есть два различных тестовых теста: 1. Вход 2. Выбор даты. Что я здесь делаю, в окне выбора даты я дал прошедшую дату, поэтому я получаю предупреждение «Дата не может быть пройдена.В тестовом выводе я получаю сообщение с предупреждением, но почему мой результат отображается как passedike 1. Книга путешествий пройдена 2. Выбор даты пройден.Я хочу, чтобы средство выбора даты отображалось как неудачное в выводе testng.Кто-нибудь, пожалуйста, переосмыслите этот код.Я новичок в тестинг.TIA

import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

public class travelapp {
    WebDriver driver;

    @BeforeClass
    public void setUp() {
        System.setProperty("webdriver.chrome.driver","D://Siva//Selenium//chromedriver//chromedriver.exe");
        driver = new ChromeDriver();        
    }

    @Test
    public void Logintravel() {
        driver.get("https://testsite.com");
        driver.findElement(By.xpath(".//*[@id='txtEmployeeId']")).sendKeys("abcd");    driver.findElement(By.xpath(".//*[@id='btnSubmit']")).click();
        driver.manage().timeouts().pageLoadTimeout(40, TimeUnit.SECONDS);
        driver.manage().timeouts().pageLoadTimeout(40, TimeUnit.SECONDS);
        driver.findElement(By.xpath(".//[@id='ctl00_mnuTraveln0']/table/tbody/tr/td/a")).click();
        WebElement radioBtn = driver.findElement(By.xpath(".//*[@id='ctl00_cphMain_TravelRequest1_chkCostCenter']"));
        radioBtn.click();
        driver.manage().timeouts().pageLoadTimeout(40, TimeUnit.SECONDS);      
   }

   @Test(priority=1)
   public void Datepicker() {                     
       //Travel from date
       driver.findElement(By.xpath(".//[@id='ctl00_cphMain_TravelRequest1_txtTrStartDate']")).click();
       driver.findElement(By.xpath(".//[@id='ctl00_cphMain_TravelRequest1_txtTrStartDate_CalendarExtender_day_0_1']")).click();
       Alert alert = driver.switchTo().alert();
       String alertMessage = driver.switchTo().alert().getText();
       System.out.println(alertMessage);
  }
 }                                                                                           

Пожалуйста, перефразируйте этот код. У меня есть два различных теста 1. Вход 2. Выбор даты.то, что я делаю здесь, в средстве выбора даты я дал прошедшую дату, поэтому я получаю предупреждающее сообщение как «Дата не может быть прошедшей. В выводе testng я получаю предупреждающее сообщение, но почему мой результат отображается как passedike 1.Bookпутешествие пройдено 2. Выбор даты пройден. Я хочу, чтобы выборка даты была показана как неудачная в выводе testng. Кто-то, пожалуйста, перефразируйте этот код. Я новичок в testng.

1 Ответ

0 голосов
/ 17 октября 2018

TestNG не волнует, что является содержанием предупреждения, если не было никаких исключений, тест будет пройден.

Вам необходимо подтвердить его с другим сообщением, которое показываетуспех.Например

String alertMessage = driver.switchTo().alert().getText();
Assert.assertEquals(alertMessage, "Data passed successfully"); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...