Ввод русских значений из массива - UnicodeDecodeError

jenkins
selenium
python
Теги: #<Tag:0x00007fedb7b43c58> #<Tag:0x00007fedb7b43b18> #<Tag:0x00007fedb7b439d8>

(Максим Неверный) #1

Всем привет!
Столкнулся с такой проблемой. Скрипт должен ввести ФИО на русском в определенные поля. Всё просто казалось бы и локально даже работает, но при прогоне через jenkins вылетает ошибка:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd1 in position 0: ordinal not in range(128)
Подробнее о стеке:
Использую selenium + python 3 + jenkins.
jenkins на centOS сервере.
Виртуалка на которой непосредственно прогоняются тесты на винде.
Файл из которого скрипт берёт информацию расположен там же где и jenkins.
Складывается такое ощущение, что сам txt файл сохраняется в неподходящей кодировке и оттуда лезут все проблемы.

Код:

# coding: utf8
with open(r'/Users/variable_User.txt') as file:
       array = [row.strip() for row in file]

 def test001_CorrectCreateRequest(self):
        d.find_element_by_xpath("(//INPUT[@type='text'])[1]").send_keys(array[0]+Keys.ENTER)
        print('Вводим имя пользователя')

(Bolatbek) #2
with open('unicode.txt', encoding='utf-8') as f:
    for line in f:
        print(repr(line))

https://docs.python.org/3/howto/unicode.html


(Максим Неверный) #3

Выводится ошибка:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd1 in position 0: invalid continuation byte
Первая строка - это русские буквы.


(Максим Неверный) #4

Прошу прощения, Ваш совет помог, просто файл, что лежал на сервере был в неправильной кодировке. Перепроверил, перекодировал, всё заработало.