Сross-browser Selenium tests — миф или реальность?

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


    Разработчики Selenium утверждают, что данным инструментом можно запускать тесты во всех браузерах.

    И это правда, запускать их действительно удается, но вот выполняются они отлично только в FF.
    Сейчас у меня есть набор тестов, который на ура выполняется в FF в течении 16 минут. Остальные браузеры выдают свои фокусы.

    Критические проблемы таковы:
    — Изначально Опера просто выдавала свои фокусы, которые еще кое как можно было обойти, а в ходе усложнения тестов начала выдавать сообщение об ошибке безопасности, которая не устраняется никакими настройками.
    — IE работает настолько медленно, что на практике данные тесты себя не оправдывают
    — Google Chrome вообще не удалось запустить

    То, что тесты selenium тестируют приложение и делают это хорошо — это правда.
    Но вопрос: действительно ли тесты selenium тестируют приложения хорошо во всех браузерах?
    Вообще, интересны любые мысли по этому поводу.
    Особенно мне интересно услышать мнение тех, кто использует и тестирует extjs.
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 14

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

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

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

              А в целом с Селениумом проблемы, да, ребята забили скажем так на его развитие. Очень жаль.
            +1
            В своё время потратил _тучу_ времени на попытку прохождения одних и тех же тестов под 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, так получается находить и исправлять мелкие ошибки в логике и отображении которые накапливаются за две недели активных коммитов :)
              –1
              О чём вы говорите? В IE есть XPath, это первый браузер, где появился XSLT.
                –1
                О том, что IE тормозит при использовании селекторов XPath пишут везде, где поднимается тема «Селениум тормозит в ИЕ».
                Даже разработчики сами советуют использовать CSS селекторы вместо XPath
                  0
                  Везде пишут, что в IE медленно работает «//». Проблемы с медленным XPath в общем случае пофиксили в Selenium 1.0RC
              –1
              Попробуйте написать некую независимую от тестов прослойку, и в качестве фремворка для IE использовать WatiN ( .Net)
                0
                WatiN не умеет работать с XPath, разве нет?

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое