воскресенье, 7 февраля 2021 г.

Топ-3 плагина для автозаполнения полей


Ссылка на ХАБР


Сегодня я расскажу про плагины, которые помогают быстро заполнить поля тестируемой формы. Рассказ также доступен и в виде видео. Мой топ-3:

  • 3 место — Bug magnet
  • 2 место — Web developer toolbar
  • 1 место — Form Filler

Применять плагины мы будем на бесплатной системе Users

Если авторизоваться в системе, можно добавить новую компанию. Из обязательных полей только «название» и «тип», но есть еще 6 дополнительных — ИНН, ОГРН, КПП, телефон, адрес, сотрудники.


Для тестирования обычно нужно иметь хотя бы одну полностью заполненную карточку. И именно это вызывает тоску — сидеть и прописывать все поля формы. Даже когда все эти поля — простые строки, всё равно скучно. А уж если они ещё и с ограничениями… 

Вот, например, правила формирования ИНН и КПП. Иногда система даже контрольные суммы выверяет, там просто “123” не введешь! В Users проверка проще, только по количеству цифр, но “123” или “ааа” тоже не прокатит =)

Получается, что при заполнении карточки нужно включать мозг и писать значения осознанно. Это интересно делать один раз, а потом — нудная рутина. Рутину лучше автоматизировать. В users это даже несложно, можно сохранить в postman запрос на создание и заполнение всех полей. 

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

Заполнять будем форму создания компании в Users и форму создания пользователя. Она еще хардкорнее, там 20 полей! 

Ну что, давайте сравнивать плагины!


3 место — Bug magnet


О плагине

Ссылка — https://bugmagnet.org/ (Chrome или Firefox)

Заполняет поля по одному и с участием человека — нужно выбрать значение, которое хочется подставить. 

Но зато в плагине есть куча разных типов полей:

  • Имя
  • Email
  • URL
  • Номер кредитной карты
  • Просто числовое поле
  • ....


Мне больше всего нравятся:

  • email — наиболее используемое поле, имхо. Не надо заморачиваться, придумывать корректный емейл. Выбрал из менюшки и доволен. Можно выбирать как среди валидных, так и среди невалидных вариантов.
  • format exploits — позволяет новичку провести простейшие проверки на уязвимость

А еще можно просто раскрыть список предлагаемых проверок — и вуаля, у вас уже есть набросок чек-листа для вашего поля!

Авторы пишут, что собрали типичные граничные значения в своих проверочных данных. Да, если присмотреться к Numbers и Text Size, мы увидим там как типовые значения, так и попытки выйти за стандартные границы.


Как использовать

  1. Устанавливаете плагин. 
  2. Тыкаете правой кнопкой на любое поле, куда можно вводить данные.
  3. Выбираете пункт «Bug Magnet».
  4. Выбираете подходящее поле 
  5. Выбираете нужное значение.
  6. Повторяете для следующего поля пункты 2-5.

Профит!


Создание компании

Начнем пробовать с формы создания компаний в Users. Та-а-а-ак, название компании.. Ну, это просто строка. Подставим кириллицу:

Bug Magnet → Lorems (имитация нормального текста, с пробелами и тд*) → Cyrillic

* Lorem ipsum — текстовая болванка, применяется в типографике для шаблонов верстки. Там кусок псевдолатыни, начинается как lorem ipsum, оттуда и пошло. 

Поле заполнилось кучей русских слов с пробелами:


Отлично. Едем дальше. ИНН — это явно число, ищем в numbers.

Bug Magnet → Numbers → (любое значение)

Система предлагает разные числа, которые чисто теоретически могут нашу форму сломать. Поэтому в одно поле подставим одно “бажное число”, в другое другое и т.д.

Выбрали ИНН, переходим к следующему полю. Смотрим, что это за поле, прикидываем, где искать значение для него, выбираем, переходим к следующему… Повторить N раз =)

И вот мы заполнили все поля, нажимаем «сохранить». Но увы, получаем ошибку: 

Поле ИНН должно состоять из 12 цифр

То есть «любое число» здесь не подойдет. А вот ИНН, да еще русского, в плагинчике нету, так что исправляем вручную. И снова пытаемся сохранить, и снова ошибка:

Поле ОГРН должно состоять из 13 цифр

Исправляем, сохраняем:

Поле КПП должно состоять из 9 символов

Исправляем, сохраняем — ура! Компания создана! Фух, справились! Плагин помог, но не сильно ускорил заполнение.


Создание пользователя 

При создании пользователя плагин уже интереснее, потому что в нем есть имена и email-ы. Правда, имена нерусские, а вот с email-ом bug magnet поможет — подскажет, что именно можно проверить. Какие валидные и невалидные тесты можно провести.

Вот вы можете сходу накидать десяток разных тестов на валидный email? А на невалидный? Нет? Тогда вам точно стоит установить плагинчик. Он как минимум даст вам идеи для чек-листа.

И в этом его мощь. Его можно использовать именно как подсказку «а что еще можно тут проверить?». Даже если вы тестируете мобильное или десктоп приложение, вы просто открываете в вебе любую страничку, хоть google, ставите в любое поле курсор и смотрите, что вообще плагин предлагает проверить для того или иного поля.

Для текстовых полей у плагина много идей:

  • разный алфавит
  • разный размер текста
  • пробелы в тексте (например, лидирующие, делается ли trim?)
  • спецсимволы
  • простейшие уязвимости

В форме создания пользователя куча текстовых полей — увлечения, имя кошечки, собачки… В одно поле подставим длинный текст, в другое unicode, в третье лидирующий пробел. Перепробуем разные варианты!

Пытаемся сохранить, вылезает ошибка:

Слишком длинное поле name1

Но стойте. Все поля очистились!

Это косяк разработчика — он обновляет страницу при ошибке, не сохраняя введенные данные. Такое поведение сейчас редко где встретишь, но всякое бывает. А для пользователя это #жизньболь. Да и для тестировщика тоже, если он старался и придумывал для каждого поля какое-то своё значение.

В идеале нужно ставить баг или улучшение. И исправлять такое поведение. Но… Работаем с тем, что имеем. Может, баг такой стоит, просто в версии «исправим когда-нибудь». 

В любом случае, для создания пользователя нам нужно снова заполнять 20 полей формы. Чтобы потом наткнуться на ограничение в другом поле. И снова заполнять всю форму… И снова, и снова…

При этом помните, что мы заполняем каждое поле в отдельности, делая 4 действия:


ПКМ (правая кнопка мыши) → Bug Magnet → Lorems (выбираем основной пункт) → Cyrillic (выбираем значение для этого пункта)


А для email действий будет 5:


ПКМ → Bug Magnet → email → valid → with plus


Итого получаем 20 полей на 4 действия в каждом… Унылость и тлен! Поэтому этот плагин у меня на 3 месте именно как плагин для автозаполнения полей. Его можно использовать таким образом, но это интересно только в первый раз.


Плюсы


1. Подсказывает тесты — что еще можно проверить для числа или email? Может быть как чит-лист для новичков.

Его очень интересно хотя бы 1 раз изучить, посмотреть, что мы можем вводить — какие бывают имена, как тестировать длину поля… Напишите свой чек-лист для емейла, а потом сравните с тем, что предлагает плагинчик. Вот вам и новые идеи!

2. Много разных типов полей внутри — имена, email, числа, цены, кредитки… Даже format exploit есть! Отличная штука для новичка.


Минусы


1. Надо заполнять каждое поле отдельно, причем в 4 клика — это долго…

2. Данные нерусские — отметаем имена, адреса, кредитки… Хотя полезное всё равно остается

3. Не учитывает ограничения, наложенные на поле в js — ты ведь сам подбираешь значение под поле. Всё равно надо включать мозг при заполнении полей (а не хочется)

Хочется, чтобы всё заполнялось само и в один клик. Первый пункт самый печальный, поэтому плагин у меня только на третьем месте.



2 место — Web developer toolbar




О плагине

Ссылка на плагин — http://chrispederick.com/work/web-developer/

Плагин умеет по одной кнопке заполнить все поля формы. Правда, значения будут неуникальные, каждый раз одинаковые — плагин просто берет название поля из html-кода страницы.

Web developer toolbar вообще очень интересный плагинчик, который умеет кучу всякого разного. В рамках этой статьи нас интересует именно автозаполнение форм, поэтому мы будем работать с вкладкой «Forms»



Эта вкладка позволяет вам:

  • Заполнить все поля формы автоматом (то, что нам и надо).
  • Удалить все ограничения по длине полей (maxlenght).
  • Заполнить все чек-боксы на форме (актуально, когда их очень много).
  • Снять все галки в чек-боксах.

Поэтому плагин настоятельно рекомендую к установке и использованию, если вы тестируете веб-приложения. Пригодится!



Как использовать

  1. Устанавливаете плагин → в панели браузера появляется шестеренка.
  2. Нажимаете на шестеренку
  3. Выбираете вкладку Forms (при повторном использовании будет открывать сразу нужную вкладку, которую вы использовали в прошлый раз)
  4. Пункт «Populate Form Fields»

После установки плагина все еще быстрее, если используете ровно одну вкладку:


Тык-тык по шестеренке → Populate Form Fields


Профит! Все поля заполнены!



Создание компании

Открыли форму, дали плагину задачу «Populate Form Fields» — готово! 

Поля формы заполнились, плагин указал, сколько полей заполнил — 7 штук. Причем моментально и сразу все, что сразу делает его удобнее Bug Magnet-а.

Пытаемся сохранить — ошибка! 

Поле ИНН должно состоять из 12 цифр

Та же проблема, что и в Bug Magnet → плагин не учитывает ограничения, которые стоят на полях. И вообще судя по введенным данным, плагин просто записывает в поле его имя из DOM-модели. Давайте проверим это.


Нажимаем F12 — выбираем кнопку слева от «Инспектор» — наводим на поле «Инн». 


Ну да, в HTML у этого поля есть атрибут name = “inn”.

Это не очень хорошо, потому что нам снова нужно вручную корректировать поля, подбирая корректный ИНН, ОГРН и другие значения… И всё же это будет быстрее, чем в Bug Magnet — одну кнопку нажал и 1-2 поле подредактировал. 

А вот если форма — просто набор из текстовых полей, плагин будет шикарен. Хоть 100 полей, мы их заполним в 2 клика!

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

Если у нас есть проверка на уникальность данных (ФИО, ИНН, емейл…), то мы сразу же получим ошибку. И снова править ручками.



Создание пользователя

Открыли форму, дали плагину задачу «Populate Form Fields» — готово! 

На этот раз за 2 клика мы заполнили сразу 19 полей, круто!

Пытаемся сохранить — увы, слишком много символов в имени собачки:

И вся форма очистилась, ой! Снова заполнять... В кейсе с Bug Magnet это было очень печально. 

Но с web developer toolbar намного проще. Снова тык-тык шестеренку → «Populate Form Fields», и снова 19 полей заполнено. Редактируем собачку, оставим ей 2 символа, чтобы наверняка: «12». 

Сохраняем — успешно! Вот он, наш пользователь с email «example@example.com» (видимо, плагин такие знает некоторые типы полей и под email у него своя заглушка):

Пытаемся добавить ещё одного нового пользователя по тому же принципу:

  1. Заполнили плагином
  2. Поправили собачку
  3. Сохранили

Увы, ошибка! «Такое имя в базе уже есть»

Исправили имя, сохраняем — и емейл такой уже существует. Исправили — сохранился! Уф, то есть чтобы создать второго и последующего пользователя, количество действий уже больше:

  1. Заполнили плагином
  2. Поправили имя
  3. Поправили email
  4. Поправили собачку
  5. Сохранили


Плюсы


За 1 кнопку заполняешь сразу все поля — хоть 7, хоть 27, хоть 107!



Минусы


1. Значения всегда одинаковые — каждый раз заполняет одними и теми же значениями

2. Плагин не учитывает тип поля (кроме email)



1 место — Fake Filler


О плагине

Ссылка на плагин — Chrome. Раньше назывался Form Filler.

По одной кнопке заполняет все поля формы, причем рандомными значениями! В этом его огромный плюс перед web developer toolbar — то, что значения каждый раз разные. Не нужно дополнительных телодвижений, чтобы создать уникальные данные.

Что он умеет? Плагин:

  • Заполняет текстовые поля.
  • Поддерживает свойство maxlength.
  • Рандомно заполняет дропдауны, чек-боксы и радио-баттоны.
  • Игнорирует CAPTCHA, спрятанные, отключенные или readonly поля.
  • Поддерживает автозаполнение полей, проверяемых по регуляркам (круто!)



Как использовать

После установки плагина достаточно нажать на его иконку

И всё! Все поля заполнены!



Создание компании

Открыли форму, нажали кнопку плагина — профит!

Обратите внимание, что поля заполнены рандомными значениями. Это не просто название поля из кода html, а что-то похожее на правду. Попробуем снова тыкнуть на иконку форм-филлера — и поля теперь заполнены другими значениями!

Можете хоть 10 раз тыкать на кнопку, значения будут разные. А, значит, мы не напоремся на проблему «ФИО с таким именем в базе уже есть».

Попробуем сохранить — ошибка «Поле ИНН должно состоять из 10 цифр»:

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

Заполняем плагином, корректируем вручную нужные поля.



Создание пользователя

Тыкает на плагин — он подставляет вполне нормальные (хоть и не русские) имя и емейл. То есть какие-то типовые поля он понимает. Дату из календаря также выбрал.

Но при попытке сохранить получаем ошибку, что превышена длина поля name1

Это странно, в HTML-коде мы видим maxlenght = 10 на этом поле, а плагин вроде должен уметь читать этот атрибут. Но, видимо, срабатывает далеко не всегда. Может, он читает этот атрибут только если он единственный на поле, кто знает.

В любом случае, приходится “дорабатывать” форму ручками. Снова тык-тык плагин, подправили name1 и пытаемся сохранить. В любом случае это будет быстрее, чем с web developer toolbar, так как не надо менять имя и емейл на уникальные значения.



Плюсы


1. За 1 кнопку заполняешь сразу все поля — хоть 7, хоть 27, хоть 107!

2. Каждый раз разные значения! — значит, можно легко наклепать 10 разных пользователей / карточек товара / чего-то ещё.

3. Умеет заполнять дропдауны, чек-боксы и радио-баттоны.

4. Учитывает maxlenght — по крайней мере местами, с этим плагином я намного реже огребаю “поле слишком длинное”, чем с остальными.



Минусы


1. Нерусские данные

2. Не знает такие типы, как ИНН, ОГРН.




Итого


Мы обсудили 3 плагина

Bug magnet — плагин для исследовательского тестирования. Мы обращаемся к нему за идеями для тестов и поисков вдохновения при составлении чек-листов. Его можно использовать для автозаполнения полей, но придется заполнять каждое поле по отдельности.

А если мы хотим заполнить сразу все, мы используем либо web developer toolbar (вкладка forms), либо fake filler.

А вы какие плагины любите для автозаполнения полей?


PS — статья написана в помощь студентам моих курсов.

PPS — добавила на Testbase в навык выбора инструментов, теперь не потеряется!

2 комментария: