这是我的代码:
:FOR ${a} IN RANGE 2 ${Row_Count}
\ Run Keyword If '${temp}'== 'True' Click Link xpath=//table[@id='listAllSTR']/tbody/tr[${a}]/td[2]/a and
\ ... Screen validation for Answered ${STR_detail} and
\ ... ELSE Continue For Loop
\ Run Keyword If ${a}>${Row_Count} Exit For Loop**
如果if条件通过(即,如果'$ {temp}'=='True'),我需要单击一个链接,但出现错误提示
关键字“ Selenium2Library.Click链接”的预期参数为1,为5。
我不知道该怎么办。
有人可以帮我吗?
答案 0 :(得分:4)
关于此问题。
您正在if语句中执行多个关键字,因此,它将其他关键字作为第一个的参数。
解决方案
您可以创建一个自定义关键字并向其添加其他关键字。在if语句中使用此自定义关键字。参见下面的示例。
*** Keywords ***
Custom Keyword From If
[Documentation] Keywords documentation.
keyword1
keyword2
*** Test Cases ***
Test Custom Keyword
Run Keyword If '${a}'=='True' Custom Keyword From If
注意:
要执行多个关键字,机器人的关键字为“运行关键字”,请参见文档link
答案 1 :(得分:0)
用于继续下一行的代码,作为上一行的一部分
在您尝试在单击链接关键字之后尝试的示例中,添加了导致此错误的 ... ,将其删除,您的代码将开始运行。
在您的情况下,click link关键字仅接受一个参数作为定位符,因此它认为将行作为参数
:FOR ${a} IN RANGE 2 ${Row_Count}
\ Run Keyword If '${temp}'== 'True' Click Link
xpath=//table[@id='listAllSTR']/tbody/tr[${a}]/td[2]/a
\ Screen validation for Answered ${STR_detail}
\ ELSE Continue For Loop
\ Run Keyword If ${a}>${Row_Count} Exit For Loop