我想在变量文件中设置用户名和密码,并且当测试逐步遍历每个用户名时,它会前进到下一行数据。
我使用资源文件来驱动数据,我的初始 FOR 脚本处理用户名 1 (eeny),然后嵌套的 FOR 循环一次传递所有密码。
*** Variables ***
@{users} eeny meeny miny moe
@{pwds} pwd pwd1 pwd2 pwd3
*** Test Cases ***
Login Test
:FOR ${u} IN @{users}
\ Open Browser ${URL}
\ set window size 1440 900
\ set selenium speed .5
\ input text id=username ${u}
\ :FOR ${p} IN @{pwds}
\ \ input text id=password ${p}
\ \ click button css=button.primary
\ \ wait until page contains css=p.logout
\ \ capture page screenshot
\ \ click element css=p.logout
目前,我正在尝试使用嵌套的 FOR 语句,或同时声明用户名和密码变量的 FOR 语句,但不反对更改获取数据的策略并使用多维数组或类似的方法效果更好。
最佳答案
我认为您对单个测试用例和多个测试用例存在误解。上面的内容将输入一个用户名,然后它将循环使用一个密码,提交并注销。只有当您碰巧在下一页上有相同的元素时,它才会尝试输入另一个密码。
我建议看看这里:http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#data-driven-style
另外看看一些类似的问题,您需要提供一个测试模板,我的建议是当您让它适用于两个测试用例时担心稍后循环。
关于nested-loops - Robot Framework 的数据驱动场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41288605/