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

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

მდებარეობის გვერდი ტესტში მუშაობს, რადგან ნებართვა ყოველთვის მინიჭებულია. ნაკრებმა მოხერხებული გარემო ისწავლა და არა სრული გამოცდილება. გამოსადეგი მდებარეობის გარეშე ადამიანი შეიძლება ლოდინში დარჩეს ან ხელით შეყვანა დაკარგოს. კოორდინატების წარმატებული წაკითხვა ამ გზებს არ ამტკიცებს.
გზამკვლევი იყენებს Playwright-ის ემულაციის დოკუმენტაციას და BrowserContext-ს გამოგონილი ლოკალური წამკითხველისთვის. კოორდინატები კონტროლირებულია და არა ადამიანის მიმდინარე ადგილი. რუკის სერვისი, შეკვეთა ან ანგარიში არ მონაწილეობს. ნებართვა, მდებარეობა და მიუწვდომლობისას ინტერფეისის პასუხი ცალკეა.
ნებართვა და მდებარეობა სხვადასხვა მონაცემია
გეოლოკაციის ნებართვა კოორდინატებს არ ადგენს. კოორდინატები მათი წაკითხვის უფლებას არ იძლევა. ორივე დროებით კონტექსტში განზრახ დააყენეთ და ნებართვა გვერდის ცნობილ origin-ს შეზღუდეთ.
const context = await browser.newContext({
geolocation: { latitude: 0, longitude: 0 }
});
await context.grantPermissions(['geolocation'], {
origin: 'http://localhost:4179'
});
const page = await context.newPage();
await page.goto('http://localhost:4179/');
await page.getByRole('button', { name: 'Read demo location' }).click();
await expect(page.getByRole('status')).toHaveText('Demo coordinates: 0, 0');
await context.close();მაგალითს ამ origin-ზე ლოკალური სერვერი და Playwright-ის browser და expect სჭირდება. ნულები მკაფიო სატესტო მონაცემებია და არა მიწოდების მისამართის რჩევა. გვერდი მიღებულ რიცხვებს აჩვენებს რეალური ადგილის, მომსახურების ზონის ან ფიზიკური სიზუსტის დასკვნის გარეშე.
დოკუმენტაცია აფრთხილებს, რომ ნებართვები ბრაუზერებსა და ვერსიებს შორის განსხვავდება. კონკრეტული ძრავა შეამოწმეთ. Chromium-ის შედეგი სხვა ძრავას, მობილურ სისტემას ან ნამდვილ მოწყობილობას არ ადასტურებს.
მიუწვდომელი გზა ხილული გახადეთ
API setGeolocation(null)-ს მიუწვდომელი მდებარეობის ემულაციად აღწერს. ცალკე შემთხვევაში გამოიყენეთ და შეცდომის დამმუშავებლით აჩვენეთ მდებარეობა მიუწვდომელია და ხელით შეყვანის ველი. მაგალითის ლოდინი შეზღუდულია.
ალტერნატივის ხილულობა და გამოყენებადობა შეამოწმეთ და არა მხოლოდ დამმუშავებლის გამოძახება. ლოკალური ტესტი Invented area-ს წერს. ეს შეცდომის შემდეგ ველის გამოყენებას ამტკიცებს და არა რეალური სერვისის მიერ ზონის მიღებას.
ამას მომხმარებლის უარის ტესტს ნუ უწოდებთ. მინიჭებული ნებართვა და მიუწვდომელი მდებარეობა სხვა კონფიგურაციაა. ნებართვის მოთხოვნას, პოლიტიკის შეზღუდვას, დაკარგულ სენსორსა და დროის ამოწურვას მსგავსი ინტერფეისი სხვადასხვა მიზეზით შეიძლება ჰქონდეს. საჭიროებისას აშკარა უარი მხარდაჭერილი და შემოწმებული კონფიგურაციით დაამატეთ.
კონტექსტი აღადგინეთ და არა შემთხვევის მნიშვნელობა
ნებართვის გადაფარვები კონტექსტს ეკუთვნის. clearPermissions() მათ ასუფთავებს, მაგრამ ადამიანის უარს არ ამტკიცებს. დამოუკიდებელი სცენარებისთვის ახალი კონტექსტები გამოიყენეთ და მონაცემები აღწერეთ.
მიანიჭეთ ნებართვა მაგალითის ნამდვილ origin-ს. მის გარეშე ფარგლები საჭიროზე ფართოა. ლოკალური პარამეტრები სხვა საიტზე ან საერთო ავტორიზებულ ბრაუზერში არ გადაიტანოთ. დროებითი კონტექსტი საზღვრების შემოწმებას ამარტივებს.
პროდუქტმა შეიძლება ბოლო მდებარეობა შეინახოს ან ხელით შეყვანა ნებართვამდე შესთავაზოს. მოლოდინები გუნდთან შეათანხმეთ. დადებითი წაკითხვა ძველ კოორდინატებს, სიზუსტის ზღვრებს ან შემდგომ განახლებებს არ ფარავს.
ალტერნატივა პროდუქტის გზად განიხილეთ
ნებართვის, მიუწვდომლობისა და ცალკე შემოწმებული უარის შემთხვევები დაასახელეთ. თითოეული მდგომარეობის შემდეგი მოქმედება აღწერეთ. ხელით შეყვანის დაპირებისას ველის წარწერა და შემდეგ ეტაპზე ნებადართული სატესტო მონაცემის მიღება შეამოწმეთ.
AnyTest აპლიკაციის კვლევასა და ადამიანის განსახილველ ტესტებს აღწერს. იკითხეთ ნებართვა, კოორდინატები და ალტერნატივა. AnyTest-ის ნებართვის API ან ფიზიკური მოწყობილობის შემოწმება არ არის დაპირებული. სასარგებლო დაფარვას მკაფიო გარემო და სრულფასოვანი ალტერნატიული გზა სჭირდება.
საერთო კითხვები
გეოლოკაციის ნებართვა რეალურ მდებარეობას იძლევა?
არა. ნებართვა და კონტროლირებული მდებარეობა ცალკე მონაცემებია; მაგალითი რეალურ ფიზიკურ ადგილს არ ადგენს.
მიუწვდომელი მდებარეობა მომხმარებლის უარს უდრის?
არა. მიზეზები ცალკე შეამოწმეთ და დაასახელეთ. გადაფარვების გასუფთავება აშკარა უარს არ ამტკიცებს.