По самому Python’у не подскажу. Но вот с точки зрения структуры, следует избегать лобового обращения к драйверу и его API из теста. Если вы не поленитесь добавить немного абстракции, aka BasePage, то ваша проблема решится путем написания простой обертки над sendKeys, в которой собственно и сокроется декодирование входной строки:
В python 2.7 все символы по дефолту оперируются как ASCII, а не юникод. Соответственно в ASCII нет русских символов и для этого надо использовать юникод. Что это означает:
Файл с исходным кодом должен быть сохранен как utf-8
В начале файла должна быть нотация кодировки, которая используется # -*- coding: utf-8 -*-
Все строковые переменные, которые выходят за таблицу ASCII должны быть представлены в как unicode с префиксом u'некоторый текст'
Вот переделанный пример, который будет работать:
#-*- coding: utf-8 -*-
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://www.google.com")
driver.implicitly_wait(60)
# русский комментарий
driver.find_element_by_name('q').send_keys(u'тест')
Ну и чтобы более точно разобраться со байт строками и уникодом, посмотрите пожалуйста вот эту презентацию http://farmdev.com/talks/unicode/