Используйте Selenium RC напрямую или Selenium с каркасом робота - PullRequest
9 голосов
/ 04 февраля 2011

Я должен признать, что влюбился в Selenium за его функцию записи и воспроизведения, а также функцию генерации тестовых сценариев для этих записанных действий из IDE.Но я все еще колеблюсь, чтобы перейти к этапу реализации из-за случайных подробностей (например, обнаружение событий с помощью DOM, xpath..etc), которые встроены в тестовый сценарий во время записи, что может сделатьвозможен сбой тестового случая при изменении html после его импорта в RC.Я полностью понимаю, что часть работы тестировщиков состоит в том, чтобы время от времени корректировать ожидаемые результаты как часть регрессионного теста, но я также не хочу, чтобы время, затрачиваемое на это, было больше, чем время, необходимое для выполнения ручного теста.,

Насколько я знаю Selenium с каркасом робота имеет форму ключевых слов для тестовых случаев.Я предполагаю, что это позволяет нам извлекать случайные детали в различные ключевые слова, что может упростить настройку тест-кейсов и сделать их более понятными.(Пожалуйста, исправьте меня, если я ошибаюсь)

Будет полезно услышать предложения по настройке эффективной среды автоматизации пользовательского интерфейса.Должен ли я просто использовать Selenium RC или Selenium с каркасом робота?И почему?

Заранее спасибо

Ответы [ 2 ]

10 голосов
/ 09 марта 2011

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

Хорошей альтернативой для написания сценариев с использованием «настоящих» языков программирования является использование некоторой инфраструктуры автоматизации более высокого уровня, такой как Robot Framework , которую вы упомянули. Как вы и предполагали, многоразовые ключевые слова робота, а также переменные упрощают извлечение деталей из тестов. Тестовые случаи в демонстрационной версии SeleniumLibrary очень хорошо это иллюстрируют, а в демонстрационной части также показано, как использовать Selenium через Robot.

Вы также спрашивали о Sikuli . Я никогда не использовал это сам, но это выглядит интересно. Возможно, вас заинтересует это замечательное руководство , в котором объясняется, как использовать его в Robot Framework.

2 голосов
/ 23 февраля 2011

Наша компания использует Fitnesse, а не Robot, для управления Selenium, но у нас та же проблема.Мы переключились с предположений о DOM на доступ к элементам только по ID.Поскольку это неудобно в Fitnesse, в настоящее время мы работаем над добавлением бэкэнда Selenium в нашу собственную платформу (которая ранее имела только бэкэнды для Java и Smalltalk).

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

...