Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

[Resolved] Еще раз про локаторы или как правильно составить xpath выражение


(Дмитрий Маковский) #1

Коллеги есть такой вопрос.

     String randomObjName = MyRandom.generateString(rand, "FINDNAME", 8);
    wrapper.sendKeysByXpath(NAME_OBJ_FIELD_XPATH, randomObjName);

после прохождения тестов в таблицу добавляется мой randomObjName

Теперь сам вопрос как мне как кликнуть по данному элементу в таблице?

Как в contains text передать randomObjName?
что-то типо такого :

final String OBJ_NAME_XPATH = “//*[contains(text(randomObjName))]”;

    wrapper.scrollDown(OBJ_NAME_XPATH);
    wrapper.doubleClick(OBJ_NAME_XPATH);

(ex3me0) #2

Если у Вас конкретно проблема с локатором, то он должен выглядеть так:

OBJ_NAME_XPATH = "//*[contains(text(), '%s')]" % randomObjName

Это пример на питоне, на яве будет выглядеть как-то так соответственно:

String OBJ_NAME_XPATH =  "//*[contains(text(), '" + randomObjName + "')]";

С синтаксисом явы у меня “не очень”, проверяйте)


(Stan) #3

если не хочешь закрывать и заново открывать кавычки, то:

String OBJ_NAME_XPATH = String.format("//*[contains(text(%s))]", randomObjName);

(Дмитрий Маковский) #4

спасибо большое, все получилось!