Вопрос

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

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

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top