Автоматизация тестирования на практике. Java + Selenium WebDriver. Урок 14. Определение элементов By.cssSelector - Пробел.
Правильные практики программирования на JS
Код написанный в одном стиле, имеет много преимуществ: меньше мелких ошибок, многие ошибки легко обнаружить почти сразу, другие же можно легко отладить еще на стадии разработки. Новым же программистам...
Проверки текстового поля 🖥 Достаточно часто сталкиваюсь с проверкой одних и тех же тестовых сценариев. Будь то просто числовое поле либо же различные чекбоксы. Решил структурировать проверки п разным областям, чтобы следуя данному чек листу вы ничего не забыли) 🗣Текстовое поле Состояния и обратная связь: по умолчанию (default), неактивное для ввода (disabled), наведение на поле (hover), ошибка, индикация правильного значения, маска ввода ✅Проверка вводимого (по очереди вводим каждый пункт в текстовое поле) ⏺ буквы, цифры, спецсимволы ⏺ обязательность ввода (пустое поле) ⏺ обработка только пробелов ⏺ пробелы до и после текста ⏺ регистр ⏺ минимально/максимально допустимое количество символов ⏺ текст с пробелом ⏺ уникальные данные (например, уникальность логина) ⏺ символы конца строки \n или \r ⏺ эмоджи ✅Проверка способа ввода ⏺ переход на новую строку с помощью клавиши Enter ⏺ переход на новую строку автоматически ⏺ возможность редактирования вводимых значений с помощью мышки ⏺ возможность редактирования вводимых значений с помощью клавишами стрелок ⏺ переход на новую строку автоматически ⏺ копировать (вырезать/вставить) текст (символы/абзацы) ⏺ имитация перевода текста на новую строку с помощью многократного нажатия клавиши Пробел ✅GUI (проверяем внешние признаки) ⏺ название поля (спеллинг, соответствие с открытым модулем или страницей) ⏺ подсказка в поле (плейсхолдер, если есть) ⏺ выравнивание названий полей (выравнивание по левому краю или правому краю (в зависимости от требований приложения, отступы, идентичность расстояний между названием и полем) ⏺ унификация дизайна (цвет, шрифт, размер (высота/ширина), выравнивание полей) ⏺ расположение вводимого текста внутри поля (унификация, выравнивание по нижнему краю (для textarea - по верхнему), если иное определено требованиями приложения) ⏺ корректное расположение текста внутри поля, длинный текст не выходит за границы поля при вводе ⏺ метка обязательности поля для заполнения (если есть, проверяем, что не можем отправить пустую форму) ⏺ поведение курсора по наведению на поле ввода (тип курсора text) ✅Тестирование безопасности ⏺ SQL инъекция [SELECT * FROM назв.таблицы] ⏺ HTML тег [<b>hack</b>] - можно вставить в поле ввода какие-то символы, которые встречаются в html тегах, если приложение не поймет и посчитает тегом, то отображение верстки страницы может сломаться. ⏺ JS скрипт [<script>alert("I hacked this!")</script>] - если приложение посчитает что скрипт, то появится всплывающее окно с каким-то тестом. ⏺ Базовая проверка на безопасность ["[|]'~<!--@/*$%^&#*/()?>,.*'/\] - если введенная строка обрабатывается как текст значит все относительно хорошо с безопасностью приложения, но если будет происходить что-то странное то есть проблемы. 🚀Обучение тестированию #Полезные_знания