Junior
Чӣ гуна санҷиши майдони ворид кардани почтаи электронӣ?
sobes.tech AI
Ҷавоб аз AI
Тестгирии майдони воридкунии почтаи электронӣ дарбар мегирад санҷишҳо дар сатҳи пешбар ва пасзамина, инчунин санҷишҳои интерфейси корбар.
Санҷишҳо (Client-Side):
- Тасдиқи формати:
- Суроғаҳои дуруст (масалан,
test@example.com,test.name@sub.example.co.uk). - Суроғаҳои нодуруст (надоштани
@, домен, аломатҳои махсуси нодуруст, фосилаҳо).
- Суроғаҳои дуруст (масалан,
- Ҳаддҳои воридот:
- Дарозии ҳадди ақал ва ҳадди максимум.
- Майдони холӣ.
- Намуди маълумот: Боварӣ ҳосил кунед, ки майдон танҳо аломатҳои иҷозатдодашударо дар email қабул мекунад.
- Пайғамбарҳои хато: Дурустӣ ва иттилоотнокии паёмҳо дар ҳолати воридоти нодуруст.
- Муомила:
- Фокус дар майдон.
- Ҳолати навиштани ҳарф.
- Ҳолати хато.
Санҷишҳо (Server-Side):
- Тасдиқи формати: Санҷиши дубораи формати email барои пешгирии убури санҷишҳои пешбар.
- Уникалият: Агар email бояд беназир бошад (масалан, дар сабти ном), санҷиши такрор дар базаи додаҳо.
- Логикаи бизнес: Санҷиши мувофиқат бо қоидаҳои бизнес.
- Коркарди аломатҳои махсус: Коркарди дурустии аломатҳое, ки метавонанд мушкилот эҷод кунанд (масалан, SQL injection).
- Тасдиқи мавҷудияти домен: Санҷиши ихтиёрӣ барои мавҷудияти қисми домении email.
Маслиҳатҳои тестӣ:
- Мусбат:
- Ворид кардани email-и дуруст.
- Ворид кардани email бо домени дароз/зонаи домен.
- Ворид кардани email бо поддомейнҳо.
- Манфӣ:
- Майдони холӣ.
- Ворид кардани матн бе аломати
@. - Ворид кардани матн бе қисми домен пас аз
@. - Ворид кардани матн бо фосилаҳо.
- Ворид кардани матн бо аломатҳои нодуруст.
- Ворид кардани email, ки аз дарозии максималӣ гузаштааст.
- Ворид кардани email, ки аллакай сабт шудааст.
- Ворид кардани email бо формати нодуруст.
Автоматизатсия:
Барои автоматизатсияи ин тестҳо метавон истифода бурд фреймворкҳо ва асбобҳои гуногун:
- Автоматизатсияи 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") # Ворид кардани 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"); // Санҷиши матни паёми хато
});
Ҷиҳатҳои иловагӣ:
- Санҷиш бо маълумоти воқеӣ (агар базаи тестӣ вуҷуд дошта бошад).
- Санҷиш дар дастгоҳҳо ва браузерҳои гуногун.
- Санҷиши иҷроиш дар майдони воридоти миқдори зиёди маълумот.