【问题标题】:How to use a stored variable and random number with selenium ide如何在 selenium ide 中使用存储的变量和随机数
【发布时间】:2016-01-19 11:34:29
【问题描述】:

存储变量(存储文本)和随机数如何与 Selenium IDE 一起使用?尝试做这种组合被证明是徒劳的。

例子:

<td>type<td>
<td>css=input.some-text</td>
<td>javascript{'storedVars.variable'
    +Number(Math.random(storedVars.rand)*100).toPrecision(2));}</td>

由于字段限制,所有输出都被存储Vars.variable。

寻找它返回实际变量值和随机数,即text53。

任何帮助将不胜感激。

【问题讨论】:

    标签: javascript variables selenium random selenium-ide


    【解决方案1】:

    您对存储变量的使用有点偏离:

    <td>javascript{'storedVars.variable'
        +Number(Math.random(storedVars.rand)*100).toPrecision(2));}</td>
    

    应该是:

    storedVars['variable'] + Numbermber(Math.random(storedVars.rand)*100).toPrecision(2)
    

    更多关于随机数:

    Math.random() 返回一个介于 0 和 1 之间的十进制数。所以要获得一个介于 20 和 50 之间的数字,您可以这样做:

    Math.random() * (integer range) + (starting number)
    
    Math.random() * 30 + 20
    

    所以你最终会得到这样的 IDE 代码:

    <tr>
        <td>storeEval</td>
        <td>Math.random() * 30 + 20</td>
        <td>rand_num</td>
    </tr>
    <tr>
        <td>echo</td>
        <td>${rand_num}</td>
        <td></td>
    </tr>
    

    然后你可以使用如下变量:

    <td>type<td>
    <td>css=input.some-text</td>
    <td>${rand_num}</td>
    

    【讨论】:

    • 非常感谢您的回复;但是,这仅适用于问题的随机数部分。完整的问题是询问如何在文本是存储变量的一行中获取文本和随机数。
    • 好的,正在编辑我的答案。
    • 感谢您再次回复。非常感激。不幸的是,仍然没有让它工作。我做了以下事情:storedVars['variable'] + Number(Math.random(storedVars.rand)*100).toPrecision(2) storedVars[variable] + Numbermber(Math.random(storedVars.rand)*100) .toPrecision(2) javascript{storedVars['variable'] + Numbermber(Math.random(storedVars.rand)*100).toPrecision(2);} javascript{storedVars[variable] + Numbermber(Math.random(storedVars.rand) )*100).toPrecision(2);} 这些都不起作用。做 .而 [] 实际上只是语法上的差异,您更喜欢。
    • 如果没有串联,这行得通吗?只有数字(Math.random ...)位?您确定那里没有javascript错误吗?在 firebug 控制台中尝试一些 javascript。
    【解决方案2】:

    好的,我想通了。

    <tr>
        <td>store</td>
        <td>text</td>
        <td>variable</td>
    </tr>
    <tr>
        <td>type</td>
        <td>id=lst-ib</td>
        <td>javascript{storedVars.comb=storedVars.variable+Number(Math.random(storedVars.rand)*100).toPrecision(2);}</td>
    </tr>
    

    【讨论】:

    • ...呃,我在上面做了什么?
    • 其实不行,试一下不行。您必须拥有上面的完整代码才能使其工作。关键似乎是在 javascript 中设置一个新的存储变量以使其工作。谢谢你的建议。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-19
    • 1970-01-01
    • 2019-02-09
    • 1970-01-01
    • 2021-11-02
    • 1970-01-01
    • 2020-01-20
    相关资源
    最近更新 更多