Robot Framework - Как получить значение в списке строк - PullRequest
0 голосов
/ 07 ноября 2018

Я выполняю запрос из среды роботов, чтобы получить идентификатор из базы данных. Запрос работает, но мое возвращаемое значение равно 'locationId': ['[('somekindofIdhere', )] Мне нужно только значение somekindofIdhere,

Я попытался получить первый индекс в списке

Verify Location Details
     @{Get_LocationId}=  Query  Select locationId From Location WHERE LocationName = '${Name}'
     ${Response_Location}=  Rest.get  http://sampleurl/sample/locations/@{Get_LocationId}[0]

но это дает мне это ('somekindofIdhere', ) как я могу избавиться от () символов и просто получить значение?

1 Ответ

0 голосов
/ 07 ноября 2018

Запрос возвращает список списков - внешний список - это список строк, возвращаемых запросом, а внутренние списки - списки столбцов. Это будет верно, даже если запрос возвращает один столбец в одной строке. Вы можете использовать встроенный синтаксис робота для ссылки на нужное значение:

${Response_Location}=  Rest.get  http://sampleurl/sample/locations/${Get_LocationId[0][0]}

Вот полное, что иллюстрирует разницу. Я моделирую данные в @{Get_LocationId}, чтобы тест не требовал реального подключения к базе данных.

*** Test Cases ***   
Example
    # simulate a list of tuples as returned by a db query    
    ${Get_LocationId}=  evaluate  [('somekindofIdhere',)]

    should be equal as strings  ${Get_LocationId}        [('somekindofIdhere',)]
    should be equal as strings  @{Get_LocationId}[0]     ('somekindofIdhere',)
    should be equal as strings  ${Get_LocationId[0]}     ('somekindofIdhere',)
    should be equal as strings  ${Get_Locationid[0][0]}  somekindofIdhere
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...