Junior
Hansı vəziyyətlərdə qeyri-rəsmi (implicit) gözləntilər istifadə olunur?
sobes.tech Süni İntellekt
AI-dan cavab
Gizli gözləntilər, bütün WebDriver sessiyası üçün ümumi vaxt aşımını təyin etmək üçün istifadə olunur. Onlar, element axtarışında dərhal tapılmazsa, sürücünün müəyyən bir müddət gözləməsinə səbəb olur.
Gizli gözləntilərin tətbiqi:
- Stabil tətbiq strukturu üçün: Səhifələrdəki elementlər əvvəlcədən proqnozlaşdırıla bilən gecikmə ilə yüklənir və mürəkkəb görünürlük və ya qarşılıqlı əlaqə şərtləri tələb etmir.
- Kodu sadələşdirmək üçün: Bir dəfə testin əvvəlində qurulur və bütün sonrakı
findElementçağırışlarına tətbiq olunur. - Testlərin ilk mərhələlərində: Elementlərin sinxronizasiyası üçün mexanizmlər hələ tam müəyyən edilməyibsə.
Gizli gözləntilər uyğun deyil vəziyyətlərdə:
- Elementin müəyyən bir vəziyyəti üçün (görünürlük, kliklənəbilərlik).
- Bir neçə element üçün.
- Səhifənin vəziyyətinə təsir edən, lakin DOM-da elementin mövcudluğuna təsir etməyən asinxron proseslər və ya AJAX sorğuları üçün.
Gizli və açıq gözləntilər arasında seçim edərkən, açıq gözləntilər daha etibarlı və çevik sinxronizasiya üçün üstünlük təşkil edir.
Selenium WebDriver-də gizli gözləntini qurma nümunəsi:
// Java-da
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); // 10 saniyəlik gizli gözləmə qurur
// Python-da
driver.implicitly_wait(10) # 10 saniyəlik gizli gözləmə qurur
// C#-da
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10)); // 10 saniyəlik gizli gözləmə qurur