[Resolved] Теряется кодировка значений полей при запуске теста из консоли


(Viktor Kazankov) #1

Я запускаю метод через ant(TestNG) из консоли где достаю значение поля на киррилице

public String getValueThreadfield() {
        return driver.findElement(fieldThreadLocator).getAttribute("value");
    }

Затем сравнивается значение полученное из метода со значением которое должно быть

String valueExpected = "Газопровод \"Казахстан-Китай\"/\"Kazakhstan-China\" gas pipeline";
String valueActual = selectArea.getValueMGfield();
Assert.assertEquals(valueActual,valueExpected);

Так вот, этот простой тест падает, т.к. "бъется" кодировка

java.lang.AssertionError: expected [Газопровод "Казахстан-Китай"/"Kazakhstan-China" gas pipeline] but found [Газопровод "Казахстан-Китай"/"Kazakhstan-China" gas pipeline]

Если запускать из IDE то все нормально проходит.
Подскажите, в какую сторону копать для решение этой проблемы


(sidelnikovmike) #2

Если я не ошибаюсь, то это нужно капать в сторону настроек консоли.


(Viktor Kazankov) #3

менял уже кодировки в консоле, не помогает


(rmerkushin) #4

Декодируйте в самом тесте текст из консоли из cp-866 в unicode или utf-8


(Максим Таран) #5

А с параметром "-Dfile.encoding=utf-8" запускали? У вас же кодировка исходников utf-8, я надеюсь?


(Viktor Kazankov) #6

Проблема решена.
Добавил в Переменные окружения, JAVA_TOOL_OPTIONS со значением -Dfile.encoding=UTF8
Всем спасибо за помощь