Groovy, передавая строковое значение внутри xpath с одинарной кавычкой - Katalon - PullRequest
1 голос
/ 06 мая 2019

Я создал пользовательскую функцию ключевого слова в Katalon Studio, используя Groovy.

Ниже моя функция

def referenceTabRecordSelection(String expectedRefState,String tableid){
        WebDriver driver = DriverFactory.getWebDriver()
        WebElement RefTable = driver.findElement(By.xpath('//*[@id= '+tableid+' ]/tbody'))
}

Строка "tableid" передается внутри XPath.

Во время выполнения я получаю NoSuchElementException

org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id=usRef]/tbody"}

После исследования значение id в xpath не заполняется одинарной кавычкой, например

[@id='usRef'] / т

Дайте мне знать, как я могу передать значение строковой переменной внутри XPath с одинарной кавычкой.

1 Ответ

2 голосов
/ 06 мая 2019

Использовать строковую интерполяцию Groovy:

def referenceTabRecordSelection(String expectedRefState,String tableid){
    WebDriver driver = DriverFactory.getWebDriver()
    WebElement RefTable = driver.findElement(By.xpath("//*[@id='${tableid}']/tbody"))
}

Обратите внимание, что вам нужно начинать интерполированную строку двойными кавычками, чтобы сработала интерполяция строки.

...