断言高级规范

Assertion Advance Specification

public class openbowser {

    public WebDriver driver= null;
    String browser="mozilla";
    String url="https://www.google.com";
    String actualTitle = driver.getTitle(); 
    String expectedTitle = "googleInd"; 
    assert.assertTrue(actualTitle,expectedTitle); 
    Reporter.log("Application Launched successfully ");  
}

当我 运行 测试时,它失败并显示以下错误:

java.lang.AssertionError: expected [googleInd] but found [Google]  

有什么方法可以修改断言吗?它应该用更通俗的英语提及细节。

示例:

java.lang.AssertionError: Expected title "googleInd" but found "Google"

您可以使用assertEquals(String actual, String expected, String message)

assert.assertEquals(actualTitle, expectedTitle, "Expected title '" + expectedTitle + "' but found '" + actualTitle + "'");

你快到了。如果您查看 assertTrue 的签名,它被定义为:

void org.testng.Assert.assertTrue(boolean condition)
Asserts that a condition is true. If it isn't, an AssertionError is thrown.

Parameters:
condition the condition to evaluate

因此,当我们调用 assertTrue 时,我们必须将输入参数保持为 boolean。要实现这一点,而不是像下面这样传递两个 String 文字:

assert.assertTrue(actualTitle,expectedTitle); 

我们将按如下方式传递布尔值参数:

public WebDriver driver= null;
String browser="mozilla";
String url="https://www.google.com";
String actualTitle = driver.getTitle(); 
String expectedTitle = "googleInd"; 
Assert.assertTrue(expectedTitle.contains(actualTitle), "Expected title " + expectedTitle +" but found "+ actualTitle);
Reporter.log("Application Launched successfully ");