Keys в Chrome и совместимость кода для FF и Chrome

Доброго времени суток. Я использую Python 3.6 и Selenium 3.4.2. У меня несколько вопросов. Буду признателен, если поможете.

  1. Chrome версии 58.0 не поддерживает webdriver.common.keys это зарегистрированный баг, но вот не нашёл ответа, что использовать вместо Keys. Например чтобы переключиться на соседнюю вкладку send_keys(Keys.LEFT_CONTROL+ Keys.TAB) и закрыть её send_keys(Keys.LEFT_CONTROL + “w”). Как вы выходите из такой ситуации, используете какие-то определённые версии Chrome или пишите скрипты аки javascript ниндзя?

wd.find_element_by_xpath("//input[@name = 'login']").clear()
wd.find_element_by_xpath("//input[@name = 'login']").send_keys("mylogin")

С драйвером Chrome это выполняется отлично, а вот с FireFox на второй строчке выдаёт

   selenium.common.exceptions.WebDriverException: Message: Expected [object Undefined] undefined to be a string

в чём может быть проблема?

  1. Должен ли (как правило или просто на ваш взгляд) тестировщик автоматизатор написанные тесты запускать на разных браузерах если тестирование только UI?
  1. В селениуме есть возможность работы с вкладками, думаю документацию найдете;
  2. Не уверен, но попробуйте сделать тоже самое без первой строчки;
  3. По моему мнению достаточно одного стабильно отрабатывающего браузера. Обычно это хром. Автоматизация не должна в поддержку всех браузеров и трату на это 80% времени. Опять же если это у вас не прописано где-то в условиях договора.
2 лайка

По первому вопросу все проще, Вебдрайвер имеет свои средства для переключения между окнами.
http://selenium-python.readthedocs.io/navigating.html#moving-between-windows-and-frames

Или на Стеке много инфы есть

1 лайк