如何使用Selenium IDE识别滚动条位置

时间:2013-09-22 19:55:00

标签: javascript html selenium ide scroll

现在,我知道Selenium IDE没有此功能,因此我使用的是user-extension.js。这是我的javascript代码所说的内容。

Selenium.prototype.getToppos = function ()
{
  var Top;
  Top = window.pageYOffset;
  return Top;
}

在我的selenium IDE上,这是我写的

<tr>
<td>verifyToppos</td>
<td>0</td>
<td></td>
</tr>

现在结果是正确的,这是0,但在我查看并使用滚动条后,结果显示这0不是来自我想要检查的网站。而是检查selenium IDE窗口的滚动条位置。无论如何,我可以告诉Selenium IDE它应该得到我打开的网站的滚动位置,而不是它自己的Selenium IDE窗口吗?

1 个答案:

答案 0 :(得分:0)

我用一个简单的storeEval命令完成了它:

<!-- jump to the footer, and get the scroll position's Y co-ordinate offset -->
<tr>
    <td>click</td>
    <td>link=Skip to footer</td>
    <td></td>
</tr>
<tr>
    <td>storeEval</td>
    <td>this.browserbot.getUserWindow().pageYOffset</td>
    <td>footerScrollPosition</td>
</tr>

eval命令中,this.browserbot可以获取运行站点的浏览器实例,而不是Selenium测试运行器浏览器实例。

然后,您可以使用assertEval命令对结果值执行断言:

<!-- assert that the footer Y position is greater than the main content Y position -->
<tr>
    <td>assertEval</td>
    <td>${footerScrollPosition} > ${contentScrollPosition}</td>
    <td>true</td>
</tr>

(之前我曾执行过另一个storeEval来创建变量currentScrollPosition

这对你有用吗?