Пачатак працы з тэставаннем API - што трэба ведаць

Калі вы пачынаеце тэсціраванне API і аўтаматызацыю тэставання API, якія рэчы вы павінны ведаць? Калі вы некаторы час рабілі аўтаматызацыю карыстацкага інтэрфейсу (селен / кіпарыс), вы б выявілі, што для пачатку тэставанне API крыху палохае.

Перш за ўсё, няма інтэрфейсу для ўзаемадзеяння. У адрозненне ад тэставання карыстацкага інтэрфейсу, якое дазваляе рэальна візуалізаваць дзейнасць і ўзаемадзейнічаць з інтэрфейсам, тэставанне API - гэта толькі голыя HTTP-запыты і адказы.

Напрыклад, разгледзім простую функцыянальнасць ўваходу:


Пры тэставанні з карыстацкага інтэрфейсу вам трэба толькі перайсці на старонку ўваходу, увесці імя карыстальніка і пароль і націснуць кнопку 'Адправіць'. Вы ўзаемадзейнічаеце з формай на старонцы.

Як выпрабавальнік, вы можаце не ведаць, што на самой справе адбываецца за кадрам, калі націскаеце кнопку 'Адправіць'.


Калі вы хочаце праверыць тую ж функцыянальнасць для ўваходу на ўзроўні API, з чаго пачаць?



Вы павінны ведаць url адрас канчатковая кропка што вам трэба адправіць POST запыт да.

Вы павінны ведаць, у якім фармаце вам трэба адправіць свой карысная нагрузка . Гэта JSON, Multipart, form-data?

Таксама трэба ведаць, што загалоўкі вам трэба прадаставіць свой запыт.


Як толькі запыт адпраўлены, што тады?

Трэба ведаць што код стану адказу чакаецца разам з цела рэагавання . Не толькі гэта, але і тое, як атрымаць з адказу розную інфармацыю.



Тэставанне API - што трэба ведаць

Я прыдумаў спіс элементаў, якія павінен ведаць кожны тэстар, які займаецца тэставаннем API і аўтаматызацыяй тэставання API.

Гэты спіс зусім не вычарпальны, але гэта мінімальны мінімум, які трэба ведаць, калі вы хочаце навучыцца тэставанню API:


  • Будучы ў стане стварыць выкананы праект з усімі неабходнымі бібліятэкамі для падтрымкі тэставання API
  • Зразумець і ўзаемадзейнічаць з канчатковымі кропкамі праз паштальёна
  • Стварайце калекцыі і запытвайце шаблоны ў паштальёна
  • Ведайце HTTP у поўным кантэксце
  • Запыты [структуры запытаў, загаловак, метад, цела]
  • Розныя метады запыту, GET, POST, PUT, PATCH, DELETE
  • Адпраўка дадзеных формы праз JSON, Multipart, URL-кадоўку, параметры запыту
  • Адказы [коды стану адказу, загалоўкі адказаў, целы адказаў]
  • Выкарыстанне адпаведных бібліятэк для аналізу цела адказу і вымання значэнняў
  • Ланцужок запытаў / адказаў, выманне цела адказу і падача яго ў якасці запыту на наступны званок
  • Механізм аўтэнтыфікацыі, OAuth2, OpenID, JWT, маркеры доступу
  • REST, JSON, кіраванне сесіямі, аўтарызацыя

Далейшае чытанне: