Size: a a a

Selenide на русском

2021 October 18

SL

Serg Lest in Selenide на русском
источник

И

Изя in Selenide на русском
Вопрос, почему может быть такая ситуация? Забираю со спана строку, в ДОМе там значение 2. А вот приходит 1. Код: String actual = $(".h-cart-goods").shouldHave(visible, Duration.ofSeconds(1)).innerText().trim();
источник

И

Изя in Selenide на русском
.h-cart-goods верно, проверял и в браузере и в драйвере
источник

SL

Serg Lest in Selenide на русском
Спасибо большое,помог вариант Ваш)
источник

OB

Oleg Berezhnoy in Selenide на русском
Попробуйте getText()
источник

vt

vladislav toporkov in Selenide на русском
Всем привет. Вопрос - внутри реализации класса комманд есть вот такая строка $x(xpath).waitUntil(exist, 30000); Почему я получаю нпе - по стандартному таймауту из конфигурации?
источник

BO

Boris Osipov in Selenide на русском
покажи стектрейс через https://pastebin.com/
источник

vt

vladislav toporkov in Selenide на русском
Страница Заблокирована прокси - могу просто стек трейс скриншотом, или текстом сюда прислать
источник

BO

Boris Osipov in Selenide на русском
ну давайте картинкой
источник

vt

vladislav toporkov in Selenide на русском
public RefactoredPopup execute(SelenideElement selenideElement, WebElementSource webElementSource, @Nullable Object[] objects) throws IOException {
   SelenideElement elm = null;
   for (int i = 0; i < 3; i++) {
       selenideElement.execute(clickAction);
       if (title == null) elm = Selenide.$x("//*[contains(@class,'e-dialog e-widget e-box')][last()]").waitUntil(exist, 30000);
       else elm = Selenide.$x("//span[contains(text(),'"+title+ "')]/ancestor::*[contains(@class, 'e-dialog e-widget e-box')]").waitUntil(exist, 30000);
       try {
           elm.waitUntil(visible, 60000, 200);
           break;
       } catch (UIAssertionError ignored) {
           Allure.addAttachment(String.valueOf(i), ExceptionUtils.getStackTrace(ignored));
           if (i==2) throw ignored;
       }
   }
   return new RefactoredPopup(elm);
}
источник

vt

vladislav toporkov in Selenide на русском
Сам метод
источник

BO

Boris Osipov in Selenide на русском
Element not found {By.xpath: //*[contains(@class,'e-dialog e-widget e-box')][last()]}
Expected: exist
Screenshot: file:/C:/Users/Toporkov_VA/IdeaProjects/creditconveeruiActual/build/reports/tests/1634548413785.1.png
Page source: file:/C:/Users/Toporkov_VA/IdeaProjects/creditconveeruiActual/build/reports/tests/1634548413785.1.html
Timeout: 10 s.
Caused by: NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//*[contains(@class,'e-dialog e-widget e-box')][last()]"}
источник

BO

Boris Osipov in Selenide на русском
обрезал. где тут  npe?
источник

vt

vladislav toporkov in Selenide на русском
источник

vt

vladislav toporkov in Selenide на русском
Вот полный стек
источник

vt

vladislav toporkov in Selenide на русском
if (title == null) elm = Selenide.$x("//*[contains(@class,'e-dialog e-widget e-box')][last()]").waitUntil(exist, 30000); - по этой строке падает
источник

СР

Саша Росолько... in Selenide на русском
Там же и пишет что элемент не найден по икспасу
источник

vt

vladislav toporkov in Selenide на русском
Да, потому что его окно появления - 30 секунд
источник

vt

vladislav toporkov in Selenide на русском
и написано - waitUntil(exist, 30000)
источник

СР

Саша Росолько... in Selenide на русском
Хорошо, так а где NPE?
источник