当我们使用WebElement的obj方法.getCssValue(“ font-family”)

问题描述 投票:0回答:2
时,TestNG的SoftAsert.assertEquals(actual,expected)方法无法正常运行。

我正在使用Selenium-server-standalone-3.141.59.jar文件和testNG版本6.14.3。。我想以此比较Web Element字体家族,作为输入的硬编码值,并且使用硒driver.findElement从网站获取。现在我已经制作了方法SoftAssert,因为代码已经提到了以下

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

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
===============================================
java selenium testng font-family
2个回答
0
投票
我忘了提到softAssert.assertAll();

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();

© www.soinside.com 2019 - 2024. All rights reserved.