【问题标题】:How to Make This Test case to Fail如何使这个测试用例失败
【发布时间】:2014-02-28 07:47:41
【问题描述】:

我有一个测试用例,如下所示。它比较 2 个数据,如果两个数据相同则返回 PASS。

问题是如果数据不匹配,我希望这个 测试失败

代码是

WebElement TxtBoxContent = driver.findElement(By.id(WebelementID));

String Content = TxtBoxContent.getAttribute("value");

String ExcelData = Generic.getXlCellValue(xlpath, sheetName, rownum, cellnum);

Content.equals(ExcelData);

Reporter.log(LocationName+" Data Verification -- PASS",true);

【问题讨论】:

  • Test get 不返回任何内容,它只是与对象进行比较。

标签: java selenium selenium-webdriver


【解决方案1】:

如果你在 TestNg 上,那么在测试用例失败时使用低于 thow

Assert.fail();

Assert.fail("Write your custom error message");

Reporter.log() 用于记录,它不会使您的测试用例失败。

【讨论】:

    【解决方案2】:

    为了使您的测试失败,您可以养成在需要检查布尔值时编写断言的习惯

    Assert.assertTrue(Content.equals(ExcelData));
    

    如果您的 Test 因 False 条件而通过,那么您的 Assert 将变为

    Assert.assertFalse(Content.equals(ExcelData));
    

    【讨论】:

      【解决方案3】:

      你可以这样做。

      if(Content.equals(ExcelData))
      { 
      Reporter.log(LocationName+" Data Verification -- PASS",true);
      }
      else
      {
       Reporter.log(LocationName+" Data Verification -- Fail",true);
      }
      

      【讨论】:

      • 我正在使用 testNG 框架。以上代码只是为了验证文本框中的数据是否与excel表中的数据相同。我的问题是它是否相同,它将显示数据验证通过。如果它不一样,我希望测试用例自行停止并显示测试失败,以便我可以看到它失败的地方......如果我使用上面的代码.testNG报告它显示测试用例通过
      【解决方案4】:
      if (Content.equals(ExcelData)){
              Reporter.log(LocationName+" Data Verification -- PASS",true);
          }else{
              System.out.println(LocationName+ " Data Verification Failed");
          }
      

      在上面的代码中,当条件不满足时,它会在控制台中显示测试用例失败以及位置名称。

      【讨论】:

        猜你喜欢
        • 2014-08-16
        • 2020-01-26
        • 2011-03-29
        • 2018-12-02
        • 1970-01-01
        • 1970-01-01
        • 2022-10-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多