当我们使用 WebElement 的 obj 方法 .getCssValue("font-family") 时,TestNG 的 SoftAsert.assertEquals(actual,expected) 方法无法正常运行

SoftAsert.assertEquals(actual,expected) method of TestNG is not functioning properly when we use WebElement's obj method .getCssValue("font-family")

我正在使用 Selenium-server-standalone-3.141.59.jar 文件和 testNG 版本 6.14.3. 使用我想比较 Web 元素字体系列作为输入硬编码值并使用 selenium driver.findElement 从网站获取。现在我已经制作了方法 SoftAssert 正如下面提到的代码

这是我试过的SoftAssert。创建方法并作为参数传递 WebElement obj,fontNameValid 作为值 ProximaNova。现在我从 HTML 得到 font-family is 'ProximaNova-Light' 理想的 SoftAssert一旦我们添加 assertEqual 方法,应该 将其检测为错误 但它将 通过 测试用例。请帮忙。

CheckCSS.java

public static SoftAssert webElement_Check_CSS(WebElement obj, String fontNameValid) {

 String fontName1 = obj.getCssValue("font-family");
        System.out.println("Font Name from HTML :------->" + fontName1);
        System.out.println("Font Name as input :------->" + fontNameValid);

        softAssert.assertEquals(fontNameValid, fontName1,"WebElement is ["+obj.getText()+"] and Font name is not as per visuals");
 }       

DemoTest.java  

@Test   
public void Header(){   

System.out.println("++++++contactno+++++++++");
    String fontFamily ="proximanova";
    WebElement contact = driver.findElement(By.xpath("/html/body/form/div[3]/div[2]/a[2]"));
    softAssert = CheckCSS.webElement_Check_CSS(contact,fontFamily);
    //contact.click();
    }
Starting ChromeDriver 76.0.3809.68 (420c9498db8ce8fcd190a954d51297672c1515d5-refs/branch-heads/3809@{#864}) on port 36987
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
[1569829278.198][WARNING]: This version of ChromeDriver has not been tested with Chrome version 77.
Sep 30, 2019 1:11:19 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
++++++contact no+++++++++
Font Name from HTML :------->ProximaNova-Light
Font Name as input :------->proximanova
Font Size:-------->15px
rgba(255, 232, 214, 1)
Font colour converted to hex:#ffe8d6
text-align:-------->center
PASSED: Header

===============================================
    Default test
    Tests run: 1, Failures: 0, Skips: 0
===============================================


===============================================
Default suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================

你缺少的是

softAssert.assertAll();

这将在 运行 所有与软断言相关的断言测试之后给出一次结果。

SoftAssert softAssert = new SoftAssert();
String ActualErrorMEssage = firstNameerrorXpath.getText;
String ActualErrorMEssage2 = secondNameNameerrorXpath.getText;
softAssert.assertEquals(ActualErrorMEssage,ExpectedErrorMEssage);
softAssert.assertEquals(ActualErrorMEssage2,ExpectedErrorMEssage);
softAssert.assertAll();