我很陌生"编码"在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命令?
感谢您的帮助!
答案 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中。