Мой код не может распознавать специальные символы - PullRequest
0 голосов
/ 16 октября 2019

У меня есть тест, в котором он проверяет, будет ли отображаться имя пользователя, где находится вход и выход из системы. Вот объект HTML.

<span class="MuiButton-label"><svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="presentation"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z"></path></svg>&nbsp;&nbsp;CLARA ADAMS (autotest) ▼</span>

Я скопировал элемент

<span class="MuiButton-label"><svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="presentation"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z"></path></svg>&nbsp;&nbsp;CLARA ADAMS (autotest) ▼</span>

Вот мой код, и он продолжает печатать Fail, что заставляет меня верить, чтоэто не могло соответствовать тексту. Я также заметил, что когда он печатает значения вместо ▼, он печатается как CLARA ADAMS (autotest)?

Как я могу изменить свой код, чтобы я мог распознавать CLARA ADAMS (autotest) ▼?

    // Get the Text from the location 
    if (driver.findElement(By.className("MuiButton-label"))
            .getText().equalsIgnoreCase("CLARA ADAMS (autotest) ▼")) {
        System.out.println("CLARA ADAMS (autotest) ▼ Pass");
    } else {
        System.out.println("CLARA ADAMS (autotest) ▼ Fail");

    }

Ответы [ 2 ]

0 голосов
/ 16 октября 2019

Возьмите if else и используйте assert:

WebElement username = driver.findElement(By.className("MuiButton-label"));

assertEquals(username.getText().trim(), "CLARA ADAMS (autotest) ▼");

Это то же самое, что и в противном случае.

Так что, если ваш assert потерпел неудачу, вы получите ошибкуто, что ожидалось, было этим, а фактическое - это то, что вы можете сделать, это скопировать из фактического и вставить его в assert, если селен выдает ошибку для специального символа «▼», если имя верное.

0 голосов
/ 16 октября 2019

Как у вас работает программа? Не могли бы вы проверить, если что-то связано с Java Unicode / UTF-8 / UTF-16

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...