2010-06-03 49 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