Всем привет!
Мы выпустили релиз Selenide 5.14.0.
FOLDER
… который появился в Selenide 5.13.0.
Вот что поменялось в 5.14.0:
Каждый раз, когда селенид открывает браузер, он создаёт для него уникальную папку для скачиваний. Это помогает избежать ситуаций, когда параллельные тесты одновременно скачивают файлы в одну и ту же папку, и невозможно понять, где чей файл.
См. issue 1220 и PR 1221.
setWebDriver(driver, proxy, downloadsFolder)
,SelenideDriver(..., downloadsFolder)
.$$.shouldHave(itemWithText("any text"))
В отличие от классической $$.shouldHave(texts("text1", "text2"))
, она означает, что в коллекции есть хотя бы один элемент с данным текстом.
Спасибо Luis Serna за PR 1194.
Кстати, это первый коммит в селенид аж из Боливии!
Когда-то селенид поддерживал Safari, но тогда куча всего в нём не работало.
В какой-то момент нам надоело с ним мучаться, и мы поддержку выпилили.
Но сейчас попробовали новый подход. Вроде как завелось (не всё, конечно).
Как обычно, достаточно просто прописать
Configuration.browser = "safari";
либо-Dselenide.browser=safari
Делитесь впечатлениями.
См. issue 1236 и PR 1237.
SelenideDriver.screenshot(fileName)
Полезно, если вы создаёте “нестатический” вариант драйвера (new SelenideDriver()
) и хотите снимать скриншоты.
Теперь можно.
См. issue 1166 и PR 1227.
SelenideDriver.screenshot(OutputType)
Иногда хочется получить скриншот в формате Base64. Например, этот формат хотят некоторые инструменты для сравниения скриншотов.
Теперь их можно получить таким вызовом:
String screenshot = Selenide.screenshot(OutputType.BASE64);
byte[] decoded = Base64.getDecoder().decode(screenshot);
BufferedImage img = ImageIO.read(new ByteArrayInputStream(decoded));
См. issue 1224 и PR 1231.
switchTo()
Как вы знаете, Селенид автоматически делает скриншот в случае падения тестов.
Но мы обнаружили, что Селенид НЕ делал скриншот, если упал один из этих методов:
switchTo(frame)
switchTo(window)
switchTo(alert)
Теперь мы исправили эту досадную оплошность.
См. issue 1190 и PR 1240.
--disable-dev-shm-usage
Мы тут вычитали, что без этой опции Chrome может получать крэшиться из-за out of memory error.
$.toString()
безопаснееСм. issue 1241 и PR 1245.
См. issue 1013 и PR 1239.
См. WDM Changelog.
И целая серия статей от Alexander Pushkarev: