Katalon динамический xpath в режиме сценария - PullRequest
0 голосов
/ 10 января 2019

Я хочу создать динамический тестовый объект.

Вот xpath моего тестового объекта:

(.//*[normalize-space(text()) and normalize-space(.)='${username}'])[1]/following::span[1]

Я хочу заменить ${username} в моем сценарии динамически. Вот что я попробовал:

WebUI.verifyElementPresent(findTestObject('Page_CICIL_adminDashboard/span_Dash', [('username'):varEmail]), 3)

но выдает element not found вот так:

com.kms.katalon.core.webui.exception.WebElementNotFoundException: Web element with id: 'Object Repository/Page_CICIL_adminDashboard/span_Dash' located by 'By.xpath: (.//*[normalize-space(text()) and normalize-space(.)='${username}'])[1]/following::span[1]' not found)

Похоже, переменная ${username} не была правильно заменена моим значением ... не могли бы вы подсказать, как это сделать правильно?

1 Ответ

0 голосов
/ 11 января 2019

я наконец нашел (временный) обходной путь для этого: D

Я полностью пишу TestObject, используя скрипт, подобный этому

String xpath_spanDash = "(.//*[normalize-space(text()) and normalize-space(.)='" + varEmail + "'])[1]/following::span[1]"
println '>>> the span dash xpath is: ' + xpath_spanDash
TestObject toSpanDash = new TestObject("span_Dash2")
toSpanDash.addProperty("xpath", ConditionType.EQUALS, xpath_spanDash)

и проверить элемент следующим образом

// verifying elements
WebUI.verifyElementPresent(toSpanDash, 3)
...