如何将Javascript语法(用于解析HH:MM:SS)导入Selenium IDE

时间:2017-04-19 14:16:51

标签: javascript selenium selenium-ide

我很陌生"编码"在Selenium,最近安装了Selenium IDE。

我试图在Selenium IDE中将变量$ WaitingTime(在" hh:mm:ss"中)变为毫秒。

我找到了多个解决方案,但我不知道如何将这些解决方案转换为Selenium命令以及如何将结果存储为新变量。

一个解决方案是:

function hmsToSecondsOnly(str) {
var p = str.split(':'),
    s = 0, m = 1;

while (p.length > 0) {
    s += m * parseInt(p.pop(), 10);
    m *= 60;
}

return s;
}

这些如何转换为Selenium IDE命令?

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

我之前遇到的最好的方法是使用user-extensions.js文件。如果你没有这个,你可以很容易地创建它作为一个空白的js文件。然后你需要在selenium IDE中设置它(选项>选项,应该有一个字段标题Selenium Core Extensions,只需在这里设置你的文件)

然后,您可以将上面的函数放在该文件中,并使用storeEval

从selenium调用它
<tr>
    <td>storeEval</td>
    <td>hmsToSecondsOnly("10:10:10")</td>
    <td>waitingTime</td>
</tr>
<tr>
    <td>echo</td>
    <td>${waitingTime}</td>
    <td></td>
</tr>

在控制台中打印以下内容:

[info] Executing: |echo | ${waitingTime} | |
[info] echo: 36610 

我假设从函数名称这意味着在几秒钟内,而不是你在问题中所说的毫秒。如果你需要几毫秒,你需要调整你的功能来做到这一点,但同样的selenium功能将适用。

答案 1 :(得分:0)

要在Selenium中轻松管理所有JavaScript日期和时间,可以使用moment.js ..安装它并将其作为扩展添加到Selenium中。