在测试数据表元素内是否存在正确值时出现问题。我正在使用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>
答案 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}