четверг, 30 июля 2015 г.

CSS селекторы и IE8

Какое же это мучение - иметь в поддержке приложением IE8 и тем самым лишиться доступа к nth-child и nth-of-type

Пичалька :_(

среда, 29 июля 2015 г.

Как проверить CSS-селектор в IE8

В связи с тем что в IE8 поддерживаются не все селекторы (см. табличку), нужно быть осторожным в их написании. А лучше запомнить - какие из них использовать нельзя.

Проверка CSS-селектора в IE8:
1. Открываем страницу, открываем режим разработчика,
2. Режим обозревателя: Internet Explorer 8 (убрать совместимость),
3. Режим документов: стандартный IE8 (убрать совместимость),
4. Вкладка сценарий - Консоль
5. Выполнить:
document.querySelector(".tableProc tr:nth-child(2) td:nth-child(2)");
Если будет ошибка "недопустимый аргумент", то все - нельзя такой селектор использовать в IE8 :)

вторник, 28 июля 2015 г.

Неожиданно узнал, что xpath в IE не поддерживается, а то что кажется что вроде работает - так это всё WebDriver, который использует некую библиотеку javascript-xpath.

И до сегодняшнего дня все было нормально и я думал "нахрен CSS". Но утром у меня упал тест с какой-то чудной и новой для меня ошибкой:

org.openqa.selenium.InvalidSelectorException: The xpath expression '//*[@class='tableProc']//tr[2]//td[2]' cannot be evaluated or does notresult in a WebElement
И это учитывая то, что xpath локатор задан правильный. Ошибка видимо очень редкая, но она есть и это меня не устраивает.

Теперь я думаю "нахрен xpath", надо срочно разбираться в CSS и переписывать локаторы на него.
Вдруг обнаружил что Selenide - это офигенно. Вчера переписал все тесты под него, выкинул кучу кода, вернул стабильность и хорошее настроение. Супер!