Тестирования Web-приложений на различных браузерах, использование Selenium.

Автор: admin · Дата: 29 сентября 2009 · Прокомментировать

Во-первых, у нас, конечно же, есть очень много браузеров, с кучей отличий – браузеры разных версий. Потом различные, заранее не известные, конфигурации, собственно, этих браузеров: пользователь отключил Java-скрипт, отключил cookie – приложение не работает без Java-скрипта, без cookie-ов, разработчик не знает, что делать, тестировщик жалуется. Очень серьёзная проблема как раз то, что мы не знаем, что действительно у нас будет на той стороне и приложение, всё-таки, должно работать.

Это глобальная проблема – отсутствие строгих правил в языке HTML. Казалось бы: мы можем просто взять, проверить синтаксис в HTML-е, чётко перейти по всем линкам, но HTML не строгий язык: существует в нём масса способов, огромное число способов, сделать одну вещь… сделать одну и ту же вещь. И все эти способы складываются… выливаются в то, что трудно найти универсальное решение.

Опять же, изначальная кроссплатформенность фронт брендов, то есть то, что видит пользователь, требует просто повторного тестирования. То есть нам нужно тестировать на всех этих браузерах, на всех этих конфигурациях, выбирать из них, естественно, более приоритетные: в каких пользователей больше, в каких меньше.

Про Selenium у нас был предыдущий доклад вводный. Возможности Selenium-а были сказаны. Я немножко повторюсь.

Кроссбраузерность, кроссплатформенность, тестирование происходит на реальном браузере. То есть запускается Firefox, запускается Internet Explorer, либо Safari, что Вам нужно больше, Opera, и в браузере выполняется тест: кликаются ссылки, выполняется автоматически, осуществляются все проверки. То есть это не эмулятор, который может свалиться, отработать не так, как браузер – это реальный браузер.

Идентификация элементов интерфейса может проводиться очень многими способами, здесь я привёл три основные. Это Domex, PASS, СSS-селектор. Ещё можно по ID определять элементы. Очень развитый механизм идентификации элементов в Selenium-е, но со своими особенностями. Каждый механизм нужно изучать, смотреть. К примеру, выражение Ez Pass очень медленно работает на Internet Explorer и в остальных браузерах работает прекрасно. Здесь может прийти на помощь СSS-селектор, который быстро работает в Internet Explorer-е, и во всех остальных браузерах.

Также Selenium позволяет выполнять произвольный Java-скрипт код на странице тестируемого Вами сервиса. То есть практически Вы получаете неограниченный контроль над тестируемым приложением, над Вашей страничкой. В любой момент времени Вы можете послать какую-то команду, выполнить Java-скрипт и осуществить через него уже любой проект, который Вам нужен, не ограничиваясь стандартными возможностями Selenium-а.

Опять же, Selenium и IDE (последний пункт) это возможность накликать тест, когда Вы открываете у себя Firefox, запускаете Paladin, нажимаете кнопочку ректор, щёлкаете по кнопочкам, по ссылочкам, выделяете текст, нажимаете правой кнопкой, выбираете, «verify as present» и подобные действия – это очень быстро делается. Очень легко накликать этот тест и потом запустить уже на Selenium-е.

Недостаток, о котором уже говорили, этот тест недостаточно гибок. На этом языке Selenis, который используется в IDE по умолчанию, трудно составить с цикла, невозможность повторного использования кода, то есть невозможно писать не эту IDE-функцию. Но можно подключать к нему свой Java-скрипт файлик и выполнять любой Java-скрипт код.
Музыкальные инструменты театр.

Рубрика: Все записи · Запись имеет метки:  

  1. ирина:

    не отвечает internet explorer с надстройками. Без надстроек отвечает, но отображает не все станици. Что делать?