使用ExtendedSelenium2Library在机器人框架中的if语句中出现Click Element问题

时间:2017-09-28 10:22:27

标签: robotframework

我正在使用ExtendedSelenmium2Library,但我在click元素上遇到错误 关键字'ExtendedSelenium2Library.Click Element'需要1到2个参数,得0。

run keyword if  '${HOLDER}' == '${SEARCH}'  
...     run keywords   
...     click element  xpath=.//*[@id='board']/div[${COUNT_A}]/div/div[1]/div/span
...     input text  xpath=.//*[@id='board']/div[${COUNT_A}]/div/div[1]/div/form/span/input  test123

1 个答案:

答案 0 :(得分:4)

run keywords需要一个关键字列表。在您的陈述中,run keywords认为click element是第一个关键字,xpath=.//*[@id='board']/div[${COUNT_A}]/div/div[1]/div/span 是第二个关键字input text是第三个关键字,因此上。

因此,它看到click element没有参数,因此它会抛出一个错误,指出它没有参数。

如果您尝试通过run keywords运行带参数的关键字,则必须将关键字与AND

分开
run keyword if  '${HOLDER}' == '${SEARCH}'  
...     run keywords   
...     click element  xpath=.//*[@id='board']/div[${COUNT_A}]/div/div[1]/div/span
...     AND  input text  xpath=.//*[@id='board']/div[${COUNT_A}]/div/div[1]/div/form/span/input  test123

来自文档:

  

默认情况下,所有参数都应该是要执行的关键字。

     

...

     

从Robot Framework 2.7.6开始,关键字也可以使用大写AND作为关键字之间的分隔符来运行。执行关键字,以便第一个参数是第一个关键字和继续参数,直到第一个AND为其参数。第一个AND之后的第一个参数是第二个关键字和前一个参数,直到下一个AND是它的参数。等等。