我正在尝试创建一个随机数生成器:
Command | Tgt | Val |
store | tom | tester
store | dominic | envr
执行脚本| Math.floor(Math.random()*11111); | number
type | id=XXX | ${tester}.${dominic}.${number}
预期结果:
tom.dominic.0 <-- random number
相反,我得到了:
tom.dominic.${number}
我浏览了所有资源,似乎最近的硒更新/版本改变了方法,我找不到解决方法。
答案 0 :(得分:1)
我意识到这个问题已经有 2 年历史了,但这是一个相当普遍的问题,所以我会回答它,看看是否有其他答案可以解决这个问题。
如果要将 Selenium IDE 中“执行脚本”运行的脚本的结果分配给 Selenium 变量,则必须从 JavaScript 返回该值。所以代替
execute script | Math.floor(Math.random()*11111); | number
你需要
execute script | return Math.floor(Math.random()*11111); | number
此外,在将 3 个部分放在一起的最终作业中,您需要 ${envr}
而不是 ${dominic}
。
答案 1 :(得分:0)
您的代码与kantu storeEval中的selenium ide一起使用时效果很好。在“纯” Sidenium ide和executeJS命令中,您需要添加“ return”。这应该工作:
执行脚本| a = math.floor(Math.random()* 11111); 返回 |数字