Вышло обновление Selenium 3.5.3, исправляющее критичные баги

Вышло обновление Selenium 3.5.3, исправляющее критичные баги

Вслед за релизом 3.5 пришлось выпустить несколько обновлений (последнее из них имеет номер 3.5.3), в которых исправлены критичные баги в Selenium Grid Hub, проскочившие в релиз.

А именно:

  • Когда через хаб проходил ответ на выполняемую команду с кодом 404 (например, элемент не найден или cookie не найден), он ошибочно интерпретировал это как “сессия не найдена” и больше не позволял работать с этой сессией. Это ужасно, потому что сценарий можно было выполнять лишь до первого ненайденного элемента… (баг #4454)
  • Хаб портил кодировку запросов, портил не-латинские символы в локаторах, вводимом тексте, возвращаемых значениях – то есть везде (баг #4462)
  • Хаб превращал целые числа в числа с плавающей точкой, тем самым приводя браузер в недоумение (баг #4445)
  • Хаб не позволял выполнять sendKeys в файловые поля ввода, точнее говоря, он не загружал файл с локальной машины на удаленную (баг #4497)
  • Веб-консоль хаба не позволяла просматривать открытые сессии, то есть была полностью бесполезна (баг #4496)

Ну и еще попутно исправлено несколько багов помельче, не такой разрушительной силы.

Почему так случилось? Потому что на сервере непрерывной интеграции Selenium выполнялись тесты в двух режимах – с локально запускаемым браузером, и с удаленно запускаемым через Selenium Server браузером. А для Grid Hub выполнялись только модульные тесты. Увы, практика показала, что модульных тестов явно недостаточно… Поэтому на CI-сервер была добавлена еще одна задача, которая запускает тесты через Selenium Grid, теперь хаб тестируется более тщательно и мы надеемся, что больше такого количества блокеров в релиз не попадет.