2010-06-03 43 views
1

我有一个包含幻灯片的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> 

回答

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 

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

+0

这很好地解决了我的问题。谢谢! – 2010-06-03 09:49:33

+0

不客气。我有一个快速检查图像变化的检查,你可以使用'storeEval |获得当前的背景图像this.findEffectiveStyleProperty(this.browserbot.findElement(“id = views-nivo-slider-ImagesGallery-block_1”),“backgroundImage”)| backgroundImage',但为了检查它,你需要等到转换完成。 – 2010-06-03 09:53:29

+0

对于转换,您可以等待任何'css = .nivo-slice'的不透明度小于1,然后等待不透明度等于1.这表示转换已经开始并结束。 – 2010-06-03 09:56:41