სურათის განახლება განხილვის გადაწყვეტილებაა
განზრახ ვიზუალური ცვლილება მოსალოდნელი სურათის ჩანაცვლების ბრძანებისგან გამოყავით.

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

სურათის შემოწმება ღილაკის გაქრობის შემდეგ ვარდება. ეტალონის განახლება წარმატებას აბრუნებს, მაგრამ გაქრობა ახალ ნორმად შეიძლება აქციოს. ბრძანება არ წყვეტს, ღილაკი უნდა გამქრალიყო თუ არა. ეს პროდუქტის გადაწყვეტილებაა და არა ინსტრუმენტის შეკეთება.
გზამკვლევი მიჰყვება Playwright-ის სურათების დოკუმენტაციას გამოგონილი ლოკალური ბარათით. უცვლელ მაგალითს კონტროლირებულ გარემოში ვადარებთ. ეს წარმოების ინტერფეისი, ხელმისაწვდომობის სერტიფიკატი ან წარმადობის შედეგი არ არის. რას იღებს ახალი ეტალონი?
ეტალონი და გარემო დაასახელეთ
შემოწმება სურათს ეტალონს ადარებს. დოკუმენტაცია პირველ გაშვებაზე შექმნასა და შემდგომ შედარებას აღწერს. სახელი არჩეულ ხედს უნდა აღნიშნავდეს, რათა უცხო სურათმა არ ჩაანაცვლოს.
await page.setContent(`
<main aria-label="Demo preference card">
<h1>Demo preference</h1>
<button>Keep demo setting</button>
</main>
`);
await expect(page.getByRole('main')).toHaveScreenshot('demo-card.png');გამშვები და შემოტანილი expect საჭიროა. მხოლოდ არე მოწმდება და არა მთელი პროდუქტი. მაგალითს სტაბილური სტილი და ფიქსირებული ზომა აქვს. ეტალონი განზრახ იქმნება და ცალკე გაშვებაზე მოწმდება.
სისტემა, ბრაუზერი, პარამეტრები, აპარატურა და უფანჯრო რეჟიმი პიქსელებს ცვლის. ერთ გარემოში შექმენით და შეადარეთ. სხვა პლატფორმას ცალკე ეტალონი შეიძლება დასჭირდეს და არა მნიშვნელოვანი ცვლილების დამმალავი დაშვება.
ჩანაცვლებამდე განსხვავება წაიკითხეთ
მოსალოდნელი, რეალური და ხილული ცვლილება შეამოწმეთ. ახალი მოთხოვნა, გარემოს ცვლილება და რეგრესია განსხვავებულ ქმედებას მოითხოვს ერთნაირი წითელი შედეგისას.
update-snapshots დოკუმენტირებულია. გაგებისა და გუნდის პროცესით მიღების შემდეგ გამოიყენეთ. ახალი ფაილები მოსალოდნელ ქცევას ცვლის. მხოლოდ ჩავარდნების დასამალად ყველაფერს ნუ განაახლებთ.
გამქრალი ღილაკი სწორი დიზაინიც შეიძლება იყოს და მძიმე დეფექტიც. პიქსელებმა ეს არ იცის. მოთხოვნას დაუკავშირეთ და ელემენტის არსებობის ფუნქციური შემოწმება შეინარჩუნეთ.
შედარება პატიოსნად შეზღუდეთ
არე მხოლოდ ამ არესა და პარამეტრებს ამტკიცებს და არა ეკრანის გარეთ, სხვა ზომებს ან სერვერს. კითხვით აირჩიეთ და არა წარმატების სიმარტივით.
დაშვებები და სურათის სტილები ხმაურს ამცირებს, მაგრამ მნიშვნელოვნად ჩათვლილ სხვაობას ცვლის. გამორიცხული ელემენტები და ზღვრები დაასახელეთ. დასაცავი ელემენტი არ დამალოთ.
უცვლელ ბარათს ვადარებთ და სხვა ტექსტიანი ღილაკით ცალკე სურათს ვქმნით სანახავად. მეორე ეტალონად არ მიიღება. ეს ცვლილება და სტაბილური შედარებაა და არა სრული სტრატეგია.
განსახილველი გადაწყვეტილება შეინახეთ
მიუთითეთ ხედი, გარემო, განზრახ სხვაობა და გადაწყვეტილება. ისტორია შემდეგ ინჟინერს მოლოდინის ცვლილებას აუხსნის. კერძო ჩანაწერები სურათიდან რეპოზიტორიამდე მოაშორეთ.
პატარა ვიზუალური სხვაობაც ფუნქციურად მნიშვნელოვანი შეიძლება იყოს. დაშვების ზღვარი მხოლოდ წარმატების მისაღებად არ შეარჩიოთ. აღწერეთ მისი მიზეზი და ის, რაც კვლავ დაცული რჩება. დინამიკური შიგთავსის გამორიცხვა კითხვას უნდა შეესაბამებოდეს და აუცილებელი ღილაკის დამალვის მიზეზად არ იქცეს.
AnyTest კვლევასა და განსახილველ ტესტებს აღწერს. იკითხეთ შედარება და მოლოდინის მიღება. AnyTest-ის ეტალონის ფუნქცია არ არის დაპირებული. ბრძანება ფაილს წერს, განმხილველი მნიშვნელობას ფლობს.
საერთო კითხვები
ეტალონის განახლება აპლიკაციას ასწორებს?
არა. მოსალოდნელ სურათს ცვლის; ჯერ პროდუქტის ცვლილება განიხილეთ.
ერთი არეს სურათი მთელ ინტერფეისს ადასტურებს?
არა. მტკიცებულება არჩეული არით და გამოსახვის გარემოთი შემოიფარგლება.