Запись веб-теста: автоматически вставлять утверждения во время записи? - PullRequest
0 голосов
/ 10 мая 2018

Мне нужно максимально автоматизировать запись сценариев веб-тестирования. Selenium IDE или лучший плагин Katalon для Chrome кажутся очень эффективными для этого. Однако в записи не хватает утверждений. До сих пор я не нашел реальной альтернативы, кроме как «добавить их вручную» после завершения записи.

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

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

Есть ли способ сделать это в плагине Katalon, Selenium IDE или любом другом автоматизированном инструменте веб-записи? Я читал о сценариях расширения Katalon, но, насколько я понимаю, они не могут делать то, что я хочу?

- редактировать - пытаться перефразировать и быть более конкретным -

Во время моей записи при определенных событиях (например, при загрузке страницы) я хочу, чтобы инструмент находил все элементы, соответствующие определенным селекторам, и для каждого соответствия сохранял утверждение в сценарии, в котором утверждается фактическое текущее значение (например, div.innerText). или input.value) элемента на странице. Я хочу определить события и селекторы, которые должны запускать вставку утверждений и выражение, которое определяет заявленное значение.

пример

Предположим, в моем веб-приложении есть страница поиска. Я ввожу данные в поля ввода и нажимаю кнопку «поиск». Эти действия записываются большинством инструментов, таких как Katalon Recorder. Теперь на следующей странице будут показаны результаты поиска. Каждый результат поиска будет в div class = "result". Предположим, что во время записи я получил два результата поиска: "foo" и "bar". Поэтому я хочу, чтобы во время записи инструмент сохранял в сценарии утверждение о том, что первый результат должен быть «foo», а второй - «bar», исходя из моего правила, что все $ («div.result») должны иметь их "innerText" утверждается при загрузке страницы.

Ответы [ 3 ]

0 голосов
/ 10 мая 2018

Вы не можете добавлять утверждения во время записи, но вы можете использовать Selenese и после записи.Проверьте официальную ссылку здесь: https://docs.katalon.com/display/KD/Selenese+%28Selenium+IDE%29+Commands+Reference

0 голосов
/ 14 мая 2018

Для того, чтобы это стоило, мне удалось получить то, что мне нужно, следующим образом:

  • найдите каталог расширений Katalon Recorder в моем Chrome
  • скопируйте все содержимое вEclipse
  • изменить источник content/recorder.js, метод Recorder.attach(), добавив следующее:

    var self = this;
    $(...).each(function(i, el) {
        var target = self.locatorBuilders.buildAll(el);
        if (el.tagName == "SELECT" || el.tagName == "INPUT")
            recorder.record("assertValue", target, el.value, false);
        else
            recorder.record("assertText", target, el.innerText, false);
    });
    

    (примечание ... - это селекторы JQuery, которые определяют области, которые яЗнание будет содержать соответствующие данные в приложении. Это может быть изменено либо в этом источнике (например, путем добавления дополнительных селекторов), либо в самом приложении (например, путем добавления класса сигнализации к определенным тегам в HTML только для инициирования утверждений).

  • в Chrome, активируйте «режим разработчика» и загрузите измененный плагин.
  • Во время записи теперь автоматически добавляются утверждения для соответствующих частей (... выше) моего веб-сайта.приложение, на каждой странице загрузки.
  • happy!
0 голосов
/ 10 мая 2018

Избегайте использования Selenium IDE, поскольку совместимость с Firefox была прекращена со времени Firefox версии 55, поэтому вы не сможете запускать тесты на последних версиях Firefox.

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

Что мешает вам писать свои собственные автоматизированные тесты в коде с нуля?Исходя из моего опыта, кодирование ваших собственных тестов не намного медленнее, но как только вы привыкнете к этому, вы сможете решать более сложные проблемы гораздо проще.

У меня нет опыта работы с Katalon.

...