确保div内容在Selenium中随着时间的推移而发生变化

时间:2010-06-03 09:20:51

标签: selenium

我有一个包含幻灯片的div。 (http://film.robinhoodtax.org/issues/education

我正在使用Selenium来测试它。到目前为止,我一直在使用下面的HTML / Selenium脚本来验证幻灯片实际上是否正常工作。但我的assertEval失败了。

如何正确检测幻灯片并确保它正在移动?

你可以看到我通过存储HTML并等待然后再次尝试来解决这个问题,但它无法正常工作。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="" />
<title>New Test</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">New Test</td></tr>
</thead><tbody>
<tr>
    <td>open</td>
    <td>/issues/education</td>
    <td></td>
</tr>
<tr>
    <td>waitForPageToLoad</td>
    <td></td>
    <td></td>
</tr>
<tr>
    <td>assertElementPresent</td>
    <td>css=div[id='views-nivo-slider-ImagesGallery-block_1']</td>
    <td></td>
</tr>
<tr>
    <td>storeHtmlSource</td>
    <td>css=div[id='views-nivo-slider-ImagesGallery-block_1']</td>
    <td>first</td>
</tr>
<tr>
    <td>pause</td>
    <td>3000</td>
    <td></td>
</tr>
<tr>
    <td>storeHtmlSource</td>
    <td>css=div[id='views-nivo-slider-ImagesGallery-block_1']</td>
    <td>second</td>
</tr>
<tr>
    <td>assertEval</td>
    <td>${first} == ${second}</td>
    <td>second</td>
</tr>

</tbody></table>
</body>
</html>

1 个答案:

答案 0 :(得分:2)

查看受测试的网站,您可以使用以下方法检查幻灯片显示的活动页面:

verifyText | css=a.nivo-control.active | 0
waitForText | css=a.nivo-control.active | 1
waitForText | css=a.nivo-control.active | 2
waitForText | css=a.nivo-control.active | 3
waitForText | css=a.nivo-control.active | 4
waitForText | css=a.nivo-control.active | 5
waitForText | css=a.nivo-control.active | 6
waitForText | css=a.nivo-control.active | 7
waitForText | css=a.nivo-control.active | 0

这将等到活动“页面”通过每个可用幻灯片更改,然后检查它是否循环回到第一张幻灯片。这比暂停更好,因为这样你只需等待幻灯片改变就可以了。