测试失败,在testng输出中显示为通过

时间:2018-10-17 13:09:07

标签: java selenium testing automated-tests testng

我有两个不同的testng测试1.登录2.日期选择器。我在这里所做的事情,在日期选择器中我给了过去的日期,所以我收到一条警告消息,“日期不能过去。在testng输出中,我收到了警告消息,但是为什么我的结果显示为passike 1.Book travel-pass 2.约会选择器已通过。我希望日期选择器在testng输出中显示为失败。请重新格式化此代码。testng我是新手。TIA

请重新设置此代码。我有两个不同的testng测试1.登录2.日期选择器。我在这里所做的事情,在日期选择器中我给了过去的日期,所以我收到一条警告消息,“日期不能过去。在testng输出中,我收到了警告消息,但是为什么我的结果显示为passike 1.Book travel-pass 2.约会选择器已通过。我希望日期选择器在testng输出中显示为失败。请有人重新格式化此代码。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);
  }
 }                                                                                           

请重新构建此代码。.我有两个不同的testng测试1.登录2.日期选择器。我在这里所做的事情,在日期选择器中我给了过去的日期,所以我收到一条警告消息,“日期不能过去。在testng输出中,我收到了警告消息,但是为什么我的结果显示为passike 1.Book travel-pass 2.约会选择器已通过。我希望日期选择器在testng输出中显示为失败。请重新格式化此代码。testng我是新手。

1 个答案:

答案 0 :(得分:2)

TestNG不在乎警报的内容,如果没有异常,则测试将通过。

您需要将assert与其他显示成功的消息一起使用。例如

String alertMessage = driver.switchTo().alert().getText();
Assert.assertEquals(alertMessage, "Data passed successfully");