Pull to refresh

Comments 14

Пробовал как то selenium использовать для тестов этого приложения на базе extjs. Работать не будет. Причина в том что selenium все события подвешивает на id элементов, а extjs их генерирует автоматически (каждый новый запуск новые id). Т.е. записи ваших тестов становятся невалидными.
Уже работает. Я уже все протестировал в FF.
Проблема с новыми id частично решается следующими методами:
1. Указание name в элементах формы и доступ к ним по этому самому name
2. Нахождение элементов по тексту
3. Указание элементам их id
4. Проявить немного терпения и находчивости

Частично потому, что в сети на IE нарекают за тормоза при использовании xpath — якобы из-за xpath локаторов тесты и тормозят в IE.
Selenium навешивает события на что угодно, на что укажите. ID — это по-умолчанию. Есть идентификация по тексту ссылки, XPath, CSS, DOM, by name и так далее.
Чем именно запускаете в других браузерах, через Selenium RC?
еще года 2 назад замечательно тестировал через Selenium на IE, правда тесты писались под Java
Ууу… 2 года назад, по-моему, даже Selenium IDE небыло.
2 года назад и я писал и запускал в IE. Скорость была не лучше, но тогда меня это устраивало. Сейчас большая часть приложения написана на javascript и тестировать нужно большой функционал.

К тому же сейчас ситуация могла измениться. Сейчас новые версии браузеров, новые ОС.
А Selenium RC все еще в версии 1.0
Ну как не было, все было. И скрипты были абсолютно такие же, и функционал в тестируемом продукте был большой.

А в целом с Селениумом проблемы, да, ребята забили скажем так на его развитие. Очень жаль.
В своё время потратил _тучу_ времени на попытку прохождения одних и тех же тестов под FF и IE. Расскажу как это было.

Есть Selenium IDE, самописные тесты, FireFox — всё работает. Не идеально но работает. Замечены странные глюки вроде зависания Selenium IDE на какой-то из команд (не waitFor, а например open). Selenium просто останавливается и ничего не происходит, интерфейс откликается, но перезапустить тест не удаётся. Такая проблема проявляется периодически до сих пор (уже сменил несколько версий FF и Selenium), лечится перезапуском Selenium IDE. Примерно 1 из 30 запусков тестов неудачен по причине зависания. Но в целом всё отлично, FF + Selenium IDE рулят и бибикают.

Начал пробовать Selenium Core в связке с IE7, потом уже IE8. Итог — куча геморроя с усложнением тестов, чтобы они вообще хоть как-то работали под IE. Медленное прохождение тестов связанно с отсутствием нативной поддержки XPath в IE (запускается JS эмулятор работающий с DOM), в FF есть родной XPath и поэтому он работает быстрее.
Усложнял тесты, переписывал XPath запросы чтобы оба браузера их понимали, часть команд из Selenium заменял своими (чтобы работали).

И всё бы ничего, если бы не надо было работать с фреймами. Нормально работать Selenium Core с фреймами в IE я не смог заставить, вылезали разные глюки. Даже вспоминать сейчас противно.

В итоге решил что _оно того не стоит_ по временным затратам, плюнул на IE и теперь ежедневно тестирую свою cms только под FF. Знаю что это не очень хорошо, но я взял за правило делать каждую вторую пятницу днём IE. Так и записано в задачнике на пятницу — «ДЕНЬ IE :0)». В этот день я совсем не запускаю FireFox, а работаю только под IE, так получается находить и исправлять мелкие ошибки в логике и отображении которые накапливаются за две недели активных коммитов :)
О чём вы говорите? В IE есть XPath, это первый браузер, где появился XSLT.
О том, что IE тормозит при использовании селекторов XPath пишут везде, где поднимается тема «Селениум тормозит в ИЕ».
Даже разработчики сами советуют использовать CSS селекторы вместо XPath
Везде пишут, что в IE медленно работает «//». Проблемы с медленным XPath в общем случае пофиксили в Selenium 1.0RC
Попробуйте написать некую независимую от тестов прослойку, и в качестве фремворка для IE использовать WatiN ( .Net)
WatiN не умеет работать с XPath, разве нет?
Sign up to leave a comment.

Articles