Robot Framework使用Press键更改表格单元格值

时间:2017-08-02 11:31:54

标签: python xpath robotframework

我正在尝试进行机器人测试,我将值输入表格单元格,然后按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检查已设置的单元格值,并找到一个包含该表的单词?

双击工作得很好,它使得单元格可以编辑,所以我只是想找一种写东西的方法。我无法找到任何关键字来写或按键(类似按键但没有定位器,只需按下按钮)。

1 个答案:

答案 0 :(得分:2)

我自己找到了答案。我没有意识到DOM是动态的,所以在将我的头撞到墙上一段时间之后,我决定在双击单元格时检查DOM是否发生了变化。

Boom,一个输入元素出现了,现在我可以用它的类xpath输入字段并使用Input Text关键字:)。