SoftAsert.assertEquals (фактический, ожидаемый) метод TestNG не работает должным образом, когда мы используем метод obj WebElement .getCssValue ("font-family") - PullRequest
0 голосов
/ 30 сентября 2019

Я использую Selenium-server-standalone-3.141.59.jar файл и testNG версии 6.14.3. Используя это, я хочу сравнить семейство шрифтов Web Element из:введите жестко запрограммированное значение и получите его с веб-сайта, используя selenium driver.findElement . теперь я сделал метод SoftAssert , как код упоминал ниже

Это я пытался SoftAssert . Созданный метод и передача в качестве аргумента WebElement obj, fontNameValid в качестве значения ProximaNova . Теперь я получаю font-family из HTML 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
===============================================

1 Ответ

1 голос
/ 30 сентября 2019

Вам не хватает:

softAssert.assertAll ();

Это даст результаты один раз после запуска всех тестов утверждений, связанных с softassert.

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