我刚刚开始使用Robot Framework,我正在尝试使用Try Keyword If
关键字,但我在网上看到的所有示例都在一行中显示解决方案,而我在RIDE中有列和行。
如果我有一个ID为"当前状态"在当前页面上,然后我想访问URL www.xyz.com并执行一些操作。混淆是当我在RIDE中的测试用例的第一个单元格中写Run Keyword If
时,我应该在第二列中写什么?这应该是Page Should Contain
吗?还是Page Should Not Contain
?
请告诉我上面遗漏的信息。
答案 0 :(得分:10)
如果您使用Run Keyword If,则第二列必须是python表达式而不是另一个关键字。这在关键字文档中有解释。例如(为清晰起见,使用管道分隔格式):
| | Run keyword if | ${answer} == 42 | Go to | http://www.example.com
如果您想仅在页面具有ID为"当前状态"的元素时才运行关键字,您需要先确定该页面是否包含该元素,然后在表达方式。有很多方法可以做到这一点。该文档显示了如何使用"运行关键字并忽略错误",它们看起来像这样:
| | ${status} | ${value}= | Run keyword and ignore error | Page should contain | //*[@id='Current Status']
| | Run Keyword if | '${status}' == 'PASS' | Go to | http://www.example.com
还有其他方法可以完成同样的事情。例如,您可以计算页面上包含ID的项目数,并且只有在计数大于零时才运行关键字:
| | # determine if something on the page has an id of 'Current Status'
| | ${count}= | Get matching xpath count | //*[@id='Current Status']
| | # if there is at least one item on the page with that id, go to xyz.com
| | Run keyword if | ${count} > 0 | Go to | http://www.example.com
如果您想执行多个步骤,例如转到页面并进行一些验证,最直接的事情就是创建一个单独的关键字,然后调用它。
...
| | Run keyword if | ${count} > 0 | Do extra validation
*** Keywords ***
| Do extra validation
| | Go to | http://www.example.com
| | Page should contain | Hello, world
答案 1 :(得分:3)
通常将它分成3个部分,
style="width: 100% !important;"
示例:
Run Keyword If || 'condition' || Keyword to run
必须遵循一些关键字,例如:
Run Keyword If '${count}'<'5' Pass Execution.