2013-04-04 62 views
2

我使用selenium IDE 1.9.0來記錄測試。 請告訴我我沒有錯,以及如何解決這個問題。Selenium IDE [錯誤]元素id = cmp_admin未找到

這裏是我正在採取的步驟來記錄測試。 1.我使用用戶名和密碼登錄網站 2.我導航到搜索成員頁面輸入成員的名稱,點擊名稱鏈接系統引導我到成員個人資料頁面。

腳本停在這行:

ClickAndWait id=cmp_admin 

我第一次打它運行腳本沒有任何錯誤。在8小時後運行腳本,它會提示我出現以下錯誤:

[error] Element id=cmp_admin not found 

我使用調試功能查看出了什麼問題。下面是在調試窗格中顯示的信息:

[debug] modifySeparateTestWindowToDetectPageLoads: already polling this window: selenium1365079281311 
[debug] getCurrentWindow newPageLoaded = false 
[error] Element id=cmp_admin not found 
[debug] commandError 
[debug] testComplete: failed=true 

下面是硒IDE生成

<tr> 
    <td>open</td> 
    <td>/</td> 
    <td></td> 
</tr> 
<tr> 
    <td>click</td> 
    <td>id=nd_home</td> 
    <td></td> 
</tr> 
<tr> 
    <td>clickAndWait</td> 
    <td>id=cmp_admin</td> 
    <td></td> 
</tr> 
<tr> 
    <td>click</td> 
    <td>id=quicksearch_anchor</td> 
    <td></td> 
</tr> 
<tr> 
    <td>clickAndWait</td> 
    <td>css=img[alt=&quot;Member&quot;]</td> 
    <td></td> 
</tr> 
<tr> 
    <td>type</td> 
    <td>id=search_name</td> 
    <td>suzy</td> 
</tr> 
<tr> 
    <td>clickAndWait</td> 
    <td>link=Balagia, Suzy</td> 
    <td></td> 
</tr> 
</tbody></table> 
</body> 
</html> 

回答

3

如果你點擊任何按鈕或點擊鏈接佔用一些時間來加載頁面,如果頁面無法加載完全然後硒IDE沒有發現ID或下一個元素的名稱後面。解決此類問題使用Pause , waitfortext, clickandwait命令

我在代碼中做了一些更改,請運行並讓我知道它適用於您。

<tr> 
    <td>open</td> 
    <td>/</td> 
    <td></td> 
</tr> 
<tr> 
    <td>click</td> 
    <td>id=nd_home</td> 
    <td></td> 
</tr> 
<tr> 
    <td>pause</td> 
    <td>1500</td> 
    <td></td> 
</tr> 
<tr> 
    <td>clickAndWait</td> 
    <td>id=cmp_admin</td> 
    <td></td> 
</tr> 
<tr> 
    <td>click</td> 
    <td>id=quicksearch_anchor</td> 
    <td></td> 
</tr> 
<tr> 
    <td>clickAndWait</td> 
    <td>css=img[alt=&quot;Member&quot;]</td> 
    <td></td> 
</tr> 
<tr> 
    <td>type</td> 
    <td>id=search_name</td> 
    <td>suzy</td> 
</tr> 
<tr> 
    <td>clickAndWait</td> 
    <td>link=Balagia, Suzy</td> 
    <td></td> 
</tr> 
</tbody></table> 
</body> 
</html> 
1

的HTML代碼,這可能是一個幾件事情。首先,您正在尋找的元素(id = cmp_admin)在頁面上,仍然稱爲cmp_admin?從你的代碼看,你必須點擊id = nd_home,然後加載一個包含cmp_admin的頁面。如果是這樣的話,頁面最有可能還沒有完成加載,所以元素還沒有完成。嘗試使用waitfor命令之間的點擊nd_home像這樣:

click | id = nd_home |

waitForElementPresent | id = cmp_admin |

clickAndWait | id = cmp_admim |

您也可以嘗試暫停,等待幾秒鐘,但我發現waitfor命令不那麼脆弱,特別是如果您有大量Ajax請求或必須加載的元素。

Klendathu

相關問題