Перейти к содержимому

Фотография

Русский язык в xpath локаторе


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 10

#1 imishk4

imishk4

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Крылов Михаил Михайлович

Отправлено 06 октября 2016 - 12:21

Друзья!

 

JAVA + TESTNG+ Webdriver

 

Следующий код прекрасно работает при locName содержащем английские буквы, но при хоть 1 русской он каким то образом ищет КРАКОЗЯБРУ,те сам локатор превращается в нее.

Смотрите.

 

WebElement link = driver.findElement(By.xpath("//a[text() = '" + locName + "']"));

locName = "KMZTest3РУС"

System.out.println(locName) работает корректно

Однако объект по кракозябролокатору он найти конечно не может:(((

.ZrJ4LbRHzo7W2j.jpg

 

PS кодировки везде где они есть в настройках проставлены UTF 8.

 

 

В чем может быть дело?

где он портит мне локатор?

 


  • 0

#2 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 06 октября 2016 - 13:15

Что я понял с кодировками надо везде указывать UTF-8

Если в самой IDE ты по твоим словам проставил и у тебя действительно во всех файлах кодировка UTF-8, то добавить еще maven-compiler-plugin и там явно пропиши <encoding>UTF-8</encoding>

После этого у меня не было проблем при ЛОКАЛЬНОМ запуске

 

Важный вопрос, как ты запускаешь тесты ?

Локально через IDE, локально через IDE и XML, через CI .....


  • 0

#3 imishk4

imishk4

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Крылов Михаил Михайлович

Отправлено 06 октября 2016 - 14:33

Что я понял с кодировками надо везде указывать UTF-8

Если в самой IDE ты по твоим словам проставил и у тебя действительно во всех файлах кодировка UTF-8, то добавить еще maven-compiler-plugin и там явно пропиши <encoding>UTF-8</encoding>

После этого у меня не было проблем при ЛОКАЛЬНОМ запуске

 

Важный вопрос, как ты запускаешь тесты ?

Локально через IDE, локально через IDE и XML, через CI .....

Maven compiler plugin уже стоит))))явно))))

 

 

Запускаю локально через xml.

с английским языком все шикарно работает)


  • 0

#4 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 06 октября 2016 - 15:10

 

Maven compiler plugin уже стоит))))явно))))

 

 

 

Почему "явно" ?

 

Еще попробуй поставить UTF-8 в

Window - Preferences - General - Content Types

 

Т.к. в Window - Preferences - General-Workspace у тебя уже указано и так UTF-8

 

Это всё для Eclipse

 

 

Больше не знаю мест, где надо указывать кодировку


  • 0

#5 imishk4

imishk4

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Крылов Михаил Михайлович

Отправлено 06 октября 2016 - 15:12

-


  • 0

#6 imishk4

imishk4

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Крылов Михаил Михайлович

Отправлено 06 октября 2016 - 15:12

 

 

Maven compiler plugin уже стоит))))явно))))

 

 

 

Почему "явно" ?

 

Еще попробуй поставить UTF-8 в

Window - Preferences - General - Content Types

 

Т.к. в Window - Preferences - General-Workspace у тебя уже указано и так UTF-8

 

Это всё для Eclipse

 

 

Больше не знаю мест, где надо указывать кодировку

 

Вот и я .

Я проставил ее и там.

и для всех уже созданных классов.


  • 0

#7 mariatest

mariatest

    Новый участник

  • Members
  • Pip
  • 10 сообщений

Отправлено 07 октября 2016 - 09:53

Ребята, помогите пожалуйста! использую selenium+Idea+maven+testNG. локаторы содержат русский текст, например

driver.findElement(By.xpath("//button[contains(@class,'btn-text') and contains(text(), 'Добавить')]")).click();

Если запускать внутри Idea, то тест проходит успешно, если через консоль командой mvn clean test, то тест валится, т.к. не может прочитать текст, вместо него кракозябры.

Кодировка всего проекта UTF-8, в консоли установлено значение chcp 1251. в pom файле указана кодировка UTF-8. Причем если выводить в консоль System.out.println('какой-то тектст'), то в консоли он на русском, а если выводить driver.getText("траляля"), то какозябры :sad:


  • 0

#8 Lzk

Lzk

    Специалист

  • Members
  • PipPipPipPipPip
  • 504 сообщений
  • ФИО:Олег
  • Город:Мск

Отправлено 07 октября 2016 - 09:55

    <properties>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>

это пробовали ?


  • 0

#9 mariatest

mariatest

    Новый участник

  • Members
  • Pip
  • 10 сообщений

Отправлено 07 октября 2016 - 10:08

    <properties>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>

это пробовали ?

 

стало только хуже, теперь даже здесь System.out.println('какой-то тектст') кракозябры выводит


  • 0

#10 Lzk

Lzk

    Специалист

  • Members
  • PipPipPipPipPip
  • 504 сообщений
  • ФИО:Олег
  • Город:Мск

Отправлено 07 октября 2016 - 10:17

Попробуйте либо в консоли поменять на UTF-8, либо проект поменять на 1251.


  • 0

#11 mariatest

mariatest

    Новый участник

  • Members
  • Pip
  • 10 сообщений

Отправлено 07 октября 2016 - 10:23

Попробуйте либо в консоли поменять на UTF-8, либо проект поменять на 1251.

помогло изменение всего проекта на 1251. Спасибо!


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных