Sobes.tech
Junior — Middle

როგორ განვახორციელოთ უნივერსალური ავტორიზაცია, რომელიც ვრცელდება ყველა ინტერფეისის ტესტზე?

sobes.tech AI

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

საერთო ავტორიზაცია ყველა ინტერფეისის ტესტისთვის ჩვეულებრივ რეალიზდება ცალკე მეთოდის ან ფუნქციის შექმნით, რომელიც ახორციელებს შესვლას და აბრუნებს საჭირო მონაცემებს (მაგალითად, ტოკენი ან კუქი). ეს მეთოდი იძახება ტესტის ჩარჩოს კონფიგურაციაში ყოველი ტესტის წინ (მაგალითად, beforeEach ან setup), რათა უზრუნველყოს ავტორიზაცია.

მაგალითი JavaScript-ით Jest და Puppeteer-ის გამოყენებით:

beforeEach(async () => {
  await page.goto('https://example.com/login');
  await page.type('#username', 'user');
  await page.type('#password', 'password');
  await page.click('#login-button');
  await page.waitForNavigation();
});

ასევე შესაძლებელია API-ის მეშვეობით ავტორიზაციის განხორციელება, ტოკენის მიღებით და მისი დაყენებით მოთხოვნის სათაურებში ან კუქიებში, რაც აჩქარებს ტესტებს და ამცირებს UI-ზე დამოკიდებულებას.

ძირითადი იდეა — ავტორიზაციის გამოყოფა მეორადი გამოყენების ბლოკად, რომელიც იშვიათად, ყოველი ტესტის ან ტესტების ნაკრების წინ უნდა შესრულდეს.