Мне нужно максимально автоматизировать запись сценариев веб-тестирования. Selenium IDE или лучший плагин Katalon для Chrome кажутся очень эффективными для этого. Однако в записи отсутствуют утверждения. Я пока не нашел реальной альтернативы, кроме как «добавить их вручную» после того, как запись будет сделана.
Теперь я знаю, какие части моих страниц содержат соответствующий выходной текст, т.е. подлежат тестированию. Например, на основе шаблонов идентификаторов, имен классов, иерархии тегов и т. Д.
Итак, учитывая, что мое веб-приложение находится в «заведомо исправном состоянии», я теоретически мог бы захватить текстовое содержимое соответствующих тегов во время записи и тут же вставить свои утверждения в записанный сценарий. Моя цель - автоматизировать это.
Есть ли способ сделать это в плагине Katalon, Selenium IDE или любом другом автоматическом инструменте веб-записи? Я читал о скриптах расширения Katalon, но насколько я понимаю, они не могут делать то, что я хочу?
- изменить - попытаться перефразировать и конкретизировать -
Во время записи при определенных событиях (например, при загрузке страницы) я хочу, чтобы инструмент находил все элементы, соответствующие определенным селекторам, и для каждого совпадения сохранял утверждение в сценарии, которое утверждает фактическое текущее значение (например, div.innerText или input. значение) элемента на странице. Я хочу определить события и селекторы, которые должны запускать вставку утверждений и выражения, определяющего заявленное значение.
пример
Предположим, в моем веб-приложении есть страница поиска. Я ввожу данные в поля ввода и нажимаю кнопку «поиск». Эти действия записываются большинством инструментов, таких как Katalon Recorder. Теперь на следующей странице будут показаны результаты поиска. Каждый результат поиска будет в div class = "result". Допустим, во время записи я получил два результата поиска «foo» и «bar». Поэтому я хочу, чтобы инструмент сохранял в сценарии во время записи утверждение, что первым результатом должно быть «foo», а вторым - «bar», на основе моего правила, что все $ («div.result») должны иметь их "innerText" утверждается при загрузке страницы.