Chrome Selenium IDE 3.4.5扩展“执行脚本”命令未存储为变量

时间:2018-12-03 16:13:52

标签: selenium random selenium-ide execute

我正在尝试创建一个随机数生成器:

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}

我浏览了所有资源,似乎最近的硒更新/版本改变了方法,我找不到解决方法。

2 个答案:

答案 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); 返回 |数字