Robot Framework测试确定数据表中的标头正确

时间:2018-11-01 13:01:24

标签: robotframework selenium2library

在测试数据表元素内是否存在正确值时出现问题。我正在使用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 :(得分:1)

尝试按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}