gpt4 book ai didi

Robotframework 获得迭代以进行重复

转载 作者:行者123 更新时间:2023-12-04 07:36:00 24 4
gpt4 key购买 nike

在机器人框架中,我使用重复来调用关键字 x 次。
我想要的是在被调用的关键字中获取迭代次数。
我试过的:

${iteration} =          0

*** Test Cases ***
Start Test
repeat keyword ${duration} Run test iteration ${iteration}

*** Keywords ***
Run test iteration ${loop}
${iteration}= Set Variable evaluate ${iteration}+1
我期望的是在报告中被调用的关键字看起来像:
Run test iteration 0
Run test iteration 1
Run test iteration 2
但我看到
Run test iteration 0
Run test iteration 0
Run test iteration 0
有没有可能得到我预测的结果?
使用机器人框架 3.1.1

最佳答案

是的,它是,这一切都归结为变量范围。
当您在关键字中进行赋值时,该变量的作用域是关键字的局部范围 - 它在其中是可见的(而不是对调用它的潜在关键字),并且在关键字完成时被删除。不管它是否与变量部分中定义的名称相同 - 您实际上是在重新定义一个具有相同名称的新名称,例如覆盖它。并且不以任何方式改变“全局”一个人的值(value)。
然后在下一个循环中重复此操作,因此每次运行都会得到 0。
修复方法很简单 - 在更改值之后,声明您希望此变量在更高的范围内(高于当前关键字)可见。您可以选择 3 - 案例级别、套件或全局(因此所有后续套件和案例都可以使用它);这是案例级别:

Run test iteration ${loop}
${iteration}= Evaluate ${iteration}+1
Set Test Variable ${iteration}

关于Robotframework 获得迭代以进行重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67738299/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com