Junior
Как да извършите тест на полето за въвеждане на имейл?
sobes.tech AI
Отговор от AI
Тестовете на полето за въвеждане на имейл адрес включват проверки както на ниво фронтенд, така и на ниво бекенд, както и тестове на потребителския интерфейс.
Фронтенд (Client-Side) проверки:
- Валидиране на формата:
- Коректни адреси (например,
test@example.com,test.name@sub.example.co.uk). - Невалидни адреси (липса на
@, домейн, некоректни специални символи, интервали).
- Коректни адреси (например,
- Граници на въвеждане:
- Минимална и максимална дължина.
- Празно поле.
- Тип данни: Уверете се, че полето приема само допустимите в имейла символи.
- Съобщения за грешка: Правилност и информативност на съобщенията при некоректен вход.
- Взаимодействие:
- Фокус на полето.
- Статус на писане.
- Статус на грешка.
Бекенд (Server-Side) проверки:
- Валидиране на формата: Повторна проверка на формата на имейла за предотвратяване на заобикаляне на валидирането на фронтенд.
- Уникалност: Ако имейлът трябва да е уникален (например, при регистрация), проверка за дублиране в базата данни.
- Бизнес логика: Проверка за съответствие с бизнес правилата.
- Обработка на специални символи: Коректна обработка на символи, които могат да предизвикат проблеми (например, SQL injection).
- Проверка за съществуване на домейн: Опционална проверка за съществуването на домейн частта на имейла.
Примери за тестове:
- Позитивни:
- Въвеждане на валиден имейл адрес.
- Въвеждане на имейл с дълъг домейн/доменна зона.
- Въвеждане на имейл с поддомейни.
- Негативни:
- Празно поле.
- Въвеждане на текст без символ
@. - Въвеждане на текст без домейн частта след
@. - Въвеждане на текст с интервали.
- Въвеждане на текст с недопустими символи.
- Въвеждане на имейл, който превишава максималната дължина.
- Въвеждане на вече регистриран имейл.
- Въвеждане на имейл с неправилен формат на специалните символи.
Автоматизация:
За автоматизация на тези тестове могат да се използват различни рамки и инструменти:
- UI автоматизация: Selenium, Cypress, Playwright за тестване на фронтенд валидирането и взаимодействието с полето.
# Пример за псевдокод за Selenium на Python
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("your_app_url")
email_field = driver.find_element_by_id("emailInput") # Намиране на полето по ID
email_field.send_keys("invalid-email") # Въвеждане на некоректен имейл
error_message = driver.find_element_by_id("errorMessage") # Намиране на елемента с съобщението за грешка
assert "Invalid email format" in error_message.text # Проверка на текста
driver.quit()
- API автоматизация: RestAssured, Postman, Requests (Python) за тестване на бекенд валидирането чрез изпращане на заявки с различни данни.
// Пример за псевдокод за Postman
{
"email": "invalid-email"
}
// Пример за проверка в Postman Tests
pm.test("Status code is 400", function () {
pm.response.to.have.status(400); // Проверка, че сървърът връща грешка 400
});
pm.test("Error message is correct", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.message).to.eql("Invalid email format"); // Проверка на текста на съобщението за грешка
});
Допълнителни аспекти:
- Тестове с реални данни (ако има тестова база данни).
- Тестове на различни устройства и браузъри.
- Тестове за производителност на полето при въвеждане на голям обем данни.