Sobes.tech
Junior

გააზიარე Postman და მისი API-ის ტესტირების შესაძლებლობები.

sobes.tech AI

პასუხი AI-სგან

Postman — ეს არის დესკტოპ პროგრამა და ვებ-პლატფორმა API-ების განვითარების და ტესტირებისათვის. იგი საშუალებას აძლევს HTTP-შეკვეთების გაგზავნას, პასუხების ნახვას, შეკვეთების კოლექციების შექმნას, ტესტირების ავტომატიზაციას, API-ის დოკუმენტაციას და გუნდურად მუშაობას.

Postman-ის ძირითადი შესაძლებლობები API-ის ტესტირებისათვის:

  • შეკვეთების შექმნა და გაგზავნა: მხარს უჭერს ყველა ძირითადი HTTP მეთოდს (GET, POST, PUT, DELETE, PATCH). საშუალებას აძლევს კონფიგურიროთ შეკვეთის პარამეტრები, სათაურები, შეკვეთის სხეული (ფორმები, JSON, XML და სხვა).
  • პასუხების ნახვა და ანალიზი: აჩვენებს სტატუს კოდს, სათაურებს და პასუხის სხეულს. საშუალებას აძლევს ფორმატირება და მონაცემების ძებნა პასუხში.
  • კოლექციებთან მუშაობა: შეკვეთების ორგანიზება ფოლდერებსა და კატეგორიებში. მოსახერხებელია დაკავშირებული ტესტების ჯგუფურად დაყენება.
  • ცვლადები და გარემო: შეკვეთებში ცვლადების (URL, ტოკენები და სხვა) შენახვა და გამოყენება. სწრაფად გადართვა სხვადასხვა ტესტირების გარემოს შორის (dev, staging, prod).
  • Pre-request და Tests სკრიპტები:
    • Pre-request სკრიპტები: შესრულდება შეკვეთის გაგზავნამდე. შეიძლება გამოყენებულ იქნას მონაცემების მომზადება, ტოკენების გენერირება და სხვა. დაწერილია JavaScript-ით.
    • Tests: შესრულდება პასუხის მიღების შემდეგ. საშუალებას აძლევს შემოწმდეს სტატუს კოდი, სათაურები, პასუხის სხეული, პასუხის დრო და სხვა პარამეტრები. დაწერილია JavaScript-ით და გამოყენებულია Chai.js ფრეიმვორკი.
  • Collection Runner-ის ავტომატიზაცია: საშუალებას აძლევს ავტომატურად გაშვათ მთელი კოლექცია ან შერჩეული შეკვეთები. შესაძლებელია განლაგება, განმეორებების რაოდენობა, დაგვიანებები. შედეგები გამოჩნდება ანგარიშში.
  • CI/CD სისტემებთან ინტეგრაცია: შესაძლებლობაა, გაშვათ Postman-ის ტესტები ბრძანების ხაზიდან Newman (CLI-რანერი) გამოყენებით, ასევე Jenkins, GitLab CI, GitHub Actions და სხვა სისტემებთან ინტეგრაციით.
  • API-ის დოკუმენტაცია: ავტომატურად ქმნის დოკუმენტაციას კოლექციის შეკვეთების საფუძველზე. მოსახერხებელია სხვა გუნდებისთვის ან კლიენტებისთვის გაზიარებისთვის.
  • თანამშრომლობა: შესაძლებლობაა, გაუზიარო კოლექციები, ცვლადები და გარემო სხვა გუნდის წევრებთან.

მაგალითი სკრიპტის, რომელიც ამოწმებს პასუხის სტატუსს და სხეულში არსებული ველის არსებობას:

// პასუხის სტატუსის შემოწმება
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

// "success" ველის არსებობის შემოწმება პასუხის სხეულში (მოსალოდნელია ბულიანი მნიშვნელობა)
pm.test("Response body has 'success' property", function () {
    const responseJson = pm.response.json();
    pm.expect(responseJson).to.have.property('success');
    pm.expect(responseJson.success).to.be.a('boolean'); // არჩევითი ტიპის შემოწმება
});

მოსახერხებელი გარემოს ცვლადების გამოყენების მაგალითი:

// {{baseUrl}} ცვლადის გამოყენება შეკვეთის URL-ში
// Pre-request სკრიპტში მიიღეთ ტოკენი და შეინახეთ გარემოს ცვლადში
pm.environment.set("authToken", responseData.token);

// ავტორიზაციის სათაურში გამოიყენეთ {{authToken}} ცვლადი

Postman მნიშვნელოვნად ამარტივებს API-ის ტესტირებას, მას უფრო ეფექტურს და მოსახერხებელს ხდის.