Как автоматизировать что страница проскролилась?

webdriver
java
Теги: #<Tag:0x00007fedb8586260> #<Tag:0x00007fedb8586008>

(Natalie Linda) #1

Есть длинная страница и боковое меню, в котором я выбираю option и страница скролит до нужного мне tittle…
Как вот проверить что скролл прокуртился?
Просто visible/present/display/exist Все это ищет только по DOMу, тоесть страница может и не проскролиться, а тест будет зеленый.

Я попытался сделать …

String i = String.valueOf(executeJavaScript("window.scrollY"));
        Assert.assertEquals("12352", i);

У меня получилось …
Ошибка
java.lang.NullPointerException


(Nikita) #2

Определите приоритеты в тестировании!
На сколько важно вам проверять и уж темболее автоматизировать авто скролл?

У вас покрыты все остальные кейсы?
Не занимайтесь фигнёй и проверяйте основные сценарии, это оставьте для ручной проверки.


(Natalie Linda) #4

Приоритеты определены.
Кейсы покрыты.
Основные сценарии покрыты.

п.с. Спасибо за такое важное замечание по делу :slight_smile:


#5

Если всё же решите заавтоматизировать, то можно посмотреть в сторону координат элементов относительно view port браузера - они до скрола, предположительно, будут отрицательными, а после скрола - какое-то число


(Natalie Linda) #6

ооо, сейчас почитаю)


(Natalie Linda) #7

Решилось так

Object i = executeJavaScript("return window.scrollY");                        
i = String.valueOf(i);                                                        
                                                                              
String text   = (String) i;                                                     
String patternString = ".*123.*";                                               
                                                                              
      Pattern pattern = Pattern.compile(patternString);                                                                                                 
      Matcher matcher = pattern.matcher(text);                                
      boolean matches = matcher.matches();                                    
         if (!matches){Assert.fail();}                                        
        else {                                                                                                                                  
                                                                         
        supportPage.h6RestoreTheLostData.shouldBe(visible);                   
supportPage.h6RestoreTheLostData.shouldHave(text("text"));

Так как window.scrollY в разных браузерах возвращает разные значения, они отличаются буквально на пару единиц, добавила regex и можно ранить на разных браузерах