Тестирование Robot Framework, которое определило заголовки в таблице данных, правильно - PullRequest
0 голосов
/ 01 ноября 2018

У меня возникли проблемы при тестировании на наличие правильных значений внутри элемента таблицы данных. Я использую Selenium2Library и Robot Framework 3.0 версии.

Я использую этот код для проверки значений внутри элемента

: FOR    ${item}    IN    @{elements}       INFO        console=yes
\    Wait Until Keyword Succeeds    10    1    Element Should Be Visible    
//th[contains(text(),"${item}")]    Header not found: ${item}

@ {elements} - это просто список значений столбцов. Он находит первые два значения столбца и последнее значение штрафа, если между значением столбца не более одного пробела. Другие значения столбца имеют пробелы и знаки «-» Я попытался скопировать прямое значение из консоли разработчика, но это не помогло.

Структура элемента:

<table class="data-table">
<thead><tr class="odd"><th class="top-left" id="col1">Number-one</th> 
<th id="col2">Second-number-column</th>
<th id="col3">Temporary number y-identification</th>
<th id="col4">Temporary numbertwo identification</th>
<th id="col5">Temporary numberthree identification</th>
<th class="top-right" id="col5">Number four</th>
</tr>
</thead>
</table>

Не могу поместить реальные данные столбца, но они построены так. Проблемные значения:

<th id="col3">Temporary number y-identification</th>
<th id="col4">Temporary numbertwo identification</th>
<th id="col5">Temporary numberthree identification</th>

1 Ответ

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

Попробуйте нормализовать по пробелам в xpath,

: FOR    ${item}    IN    @{elements}       INFO        console=yes
\    Wait Until Keyword Succeeds    10    1    Element Should Be Visible    
//th[contains(normalize-space(text()),"${item}")]    Header not found: ${item}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...