Ссылка на ХАБР
Сегодня я расскажу про плагины, которые помогают быстро заполнить поля тестируемой формы. Рассказ также доступен и в виде видео. Мой топ-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)
Заполняет поля по одному и с участием человека — нужно выбрать значение, которое хочется подставить.
Но зато в плагине есть куча разных типов полей:
- Имя
- URL
- Номер кредитной карты
- Просто числовое поле
- ....
Мне больше всего нравятся:
- email — наиболее используемое поле, имхо. Не надо заморачиваться, придумывать корректный емейл. Выбрал из менюшки и доволен. Можно выбирать как среди валидных, так и среди невалидных вариантов.
- format exploits — позволяет новичку провести простейшие проверки на уязвимость
А еще можно просто раскрыть список предлагаемых проверок — и вуаля, у вас уже есть набросок чек-листа для вашего поля!
Авторы пишут, что собрали типичные граничные значения в своих проверочных данных. Да, если присмотреться к Numbers и Text Size, мы увидим там как типовые значения, так и попытки выйти за стандартные границы.
Как использовать
- Устанавливаете плагин.
- Тыкаете правой кнопкой на любое поле, куда можно вводить данные.
- Выбираете пункт «Bug Magnet».
- Выбираете подходящее поле
- Выбираете нужное значение.
- Повторяете для следующего поля пункты 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).
- Заполнить все чек-боксы на форме (актуально, когда их очень много).
- Снять все галки в чек-боксах.
- …
Поэтому плагин настоятельно рекомендую к установке и использованию, если вы тестируете веб-приложения. Пригодится!
Как использовать
- Устанавливаете плагин → в панели браузера появляется шестеренка.
- Нажимаете на шестеренку
- Выбираете вкладку Forms (при повторном использовании будет открывать сразу нужную вкладку, которую вы использовали в прошлый раз)
- Пункт «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 у него своя заглушка):
Пытаемся добавить ещё одного нового пользователя по тому же принципу:
- Заполнили плагином
- Поправили собачку
- Сохранили
Увы, ошибка! «Такое имя в базе уже есть»
Исправили имя, сохраняем — и емейл такой уже существует. Исправили — сохранился! Уф, то есть чтобы создать второго и последующего пользователя, количество действий уже больше:
- Заполнили плагином
- Поправили имя
- Поправили email
- Поправили собачку
- Сохранили
Плюсы
За 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.
А вы какие плагины любите для автозаполнения полей?
Спасибо большое за полезный материал
ОтветитьУдалитьНе за что)
Удалить