我正在尝试进行机器人测试,我将值输入表格单元格,然后按Enter键更新表格。
我首先尝试使用输入文本,但它不适用于表格单元格,因为它们不是文本字段:
Input Value To Cell
| [Arguments] ${row} ${col} ${amount}
| Double Click Element xpath=//*/table/tbody/tr[${row}]/td[${col}]
| Input Text xpath=//*/table/tbody/tr[${row}]/td[${col}] ${amount}
结果如下:
InvalidElementStateException:消息:无效的元素状态:元素必须是用户可编辑的才能清除它。
我认为我唯一的选择是使用按键并为其提供单元格位置。所以,这就是我尝试过的:
Input Value To Cell
| [Arguments] ${row} ${col} ${amount}
| ${cell} Get Table Cell xpath=//* ${row} ${col}
| Press Key ${cell} ${amount}
结果为:无法找到行#x和列#y中的表xpath = // *中的单元格。我已经尝试使用Table Should Contain检查已设置的单元格值,并找到一个包含该表的单词?
双击工作得很好,它使得单元格可以编辑,所以我只是想找一种写东西的方法。我无法找到任何关键字来写或按键(类似按键但没有定位器,只需按下按钮)。
答案 0 :(得分:2)
我自己找到了答案。我没有意识到DOM是动态的,所以在将我的头撞到墙上一段时间之后,我决定在双击单元格时检查DOM是否发生了变化。
Boom,一个输入元素出现了,现在我可以用它的类xpath输入字段并使用Input Text关键字:)。