QA The Other Wayხარისხის უზრუნველყოფა AI-ის მიერ დაწერილი ტესტების ეპოქაში. QA The Other Way.
პრაქტიკული QA

მიჰყევით ამომხტარ ფანჯარას, რომელიც გაიხსნა თქვენს მოქმედებაში.

მიამაგრეთ ახალი ფანჯარა მის საწყის მოქმედებასთან, შემდეგ შეამოწმეთ განკუთვნილი გვერდი თვითნებური ჩანართის ნაცვლად.

7 კითხვა: წუთიQA The Other Way
ავტორის მშობელი ფანჯარა, რომელიც დაკავშირებულია მის დანიშნულ ამომხტარ ფანჯარასთან.
დაწერილი სარედაქციო ილუსტრაცია.
საილუსტრაციო ვიდეო ამ სტატიისთვის. ინგლისური ტექსტი ეკრანზე; აირჩიეთ სუბტიტრები ამ ენისთვის.

ნათარგმნი გამოცემა. ტექნიკური იდენტიფიკატორები რჩება თავდაპირველ ფორმაში.

მიამაგრეთ ახალი ფანჯარა მის საწყის მოქმედებასთან, შემდეგ შეამოწმეთ განკუთვნილი გვერდი თვითნებური ჩანართის ნაცვლად.
ადგილობრივი ილუსტრაციული დემო გამოგონილი შენატანებით და არა მომხმარებლის ან გამყიდველის ინტერფეისით.

დახმარების ღილაკი ხსნის ახალ ფანჯარას. ტესტი აგრძელებს თავდაპირველი გვერდის კითხვას, ან იჭერს რომელი ჩანართი იქნება ბოლო. ის შეიძლება გაიაროს სხვა ფანჯრის არსებობისას და ჩავარდეს, როდესაც გარემო იცვლება. გამოტოვებული კონტრაქტი არის საკუთრება: რომელი გვერდი შეიქმნა ამ მოქმედებამ?

ეს სახელმძღვანელო მიჰყვება Playwright-ის გვერდების დოკუმენტაციას ადგილობრივი გამოგონილი მხარდაჭერის ფანჯარასთან. ეს არ არის ანგარიშის შესვლა ან გარე გადახდის ნაკადი. მიზანია მიამაგროთ ამომხტარი ფანჯარა მის საინიციაციო მოქმედებას, შეამოწმოთ გვერდი, რომელიც რეალურად მიიღეთ და თავიდან აიცილოთ ჩანართების შეკვეთა მტკიცებულებად.

დაელოდეთ გვერდზე, რომელიც ფლობს მოქმედებას

დაიწყეთ ამომხტარი ლოდინი, სანამ დააწკაპუნებთ კონტროლზე, რომელიც ხსნის მას. შემდეგ დაელოდეთ იმავე დაპირებას და შეინახეთ დაბრუნებული გვერდის მითითება. სწრაფი ახალი ფანჯარა არ უნდა გაექცეს ლოდინს და სხვა არსებული ჩანართი არ უნდა გახდეს შემთხვევითი სამიზნე.

const pendingPopup = page.waitForEvent('popup');
await page.getByRole('button', { name: 'Open demo help' }).click();
const popup = await pendingPopup;
await expect(popup.getByRole('heading', { name: 'Demo help' })).toBeVisible();

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

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

ახალი გვერდი ჯერ არ არის სწორი დანიშნულება

Page ობიექტის მიღება ადასტურებს, რომ ფანჯარა შეიქმნა. ის არ ადასტურებს, რომ ჩატვირთულია განკუთვნილი შინაარსი ან ნავიგაცია დასრულებულია ნებადართული წარმოშობით. ამომხტარი ფანჯარა შეიძლება აჩვენოს შეცდომა, გადამისამართება ან სხვა დოკუმენტი. შეამოწმეთ მნიშვნელოვანი URL ან გვერდის მდგომარეობა პროდუქტის რეალური მოთხოვნის შესაბამისად.

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

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

შეინახეთ ნავიგაცია და ბიზნესის დასრულება ცალკე

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

გამოიყენეთ გამოგონილი ან დამტკიცებული დადგმის ჩანაწერები ტესტის შემუშავებისას. თუ ამომხტარი ფანჯარა შედის მესამე მხარის სერვისში, იქ მოქმედებამდე დაადგინეთ ნებადართული ტესტის ზღვარი. მოსახერხებელი ბრაუზერის მითითება არ არის ფორმის გაგზავნის, ფულის დახარჯვის ან სხვა საიტზე ანგარიშის მონაცემების გამჟღავნების ნებართვა.

სამუშაო პროცესებისთვის, რომლებიც სრულდება თავდაპირველ ფანჯარაში, შეინახეთ ორივე მითითება და დაასახელეთ ისინი. შეამოწმეთ ორიგინალური გვერდის შემდეგი მდგომარეობა დამტკიცებული ამომხტარი მოქმედების შემდეგ. შემთხვევით ნუ დახურავთ მშობლის გვერდს, რათა გასუფთავება გამარტივდეს. ტესტმა უნდა შეინარჩუნოს ურთიერთობა, რომელსაც ადამიანი განიცდის.

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

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

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

დახურეთ ადგილობრივი ამომხტარი ფანჯარა, როდესაც ტესტი დაასრულებს მის შემოწმებას. შეინახეთ საჭირო მტკიცებულებები კომპლექტის კონფიდენციალურობის პოლიტიკის შესაბამისად. ფანჯრის URL-ები, სათაურები და ეკრანის ანაბეჭდები შეიძლება შეიცავდეს პირადი ჩანაწერის დეტალებს, ამიტომ სუფთა მშობლის ეკრანის ანაბეჭდი არ გახდის ყველა მიმაგრებულ ამომხტარ ფანჯარას უსაფრთხო გასავრცელებლად.

AnyTest აღწერს აპლიკაციის შესწავლას და ბოლომდე ტესტებს, რომლებსაც ადამიანები განიხილავენ. მიმომხილველს შეუძლია იკითხოს, რომელ ფანჯარაშია გენერირებული მოგზაურობა რეალურად და როგორ ამტკიცებს ის ამ ურთიერთობას. AnyTest-ში კონკრეტული ამომხტარი განხორციელების პრეტენზია არ არის. სასარგებლო შედეგი არის აშკარა გვერდის მფლობელისა და დანიშნულების შემოწმება და არა ჩანართების უფრო დიდი კოლექცია.

საერთო კითხვები

უნდა გამოიყენოს თუ არა ტესტმა ბოლო ჩანართი?

არა მაშინ, როდესაც საინიციაციო მოქმედება შეიძლება მიბმული იყოს ამომხტარ მოვლენასთან. შეინახეთ დაბრუნებული გვერდის მითითება.

არის თუ არა ამომხტარი ღონისძიება საბოლოო შედეგი?

არა. ცალ-ცალკე გადაამოწმეთ დანიშნულების ადგილი/შიგთავსი და ბიზნესის შედეგი.

წყაროები