2013-02-13 34 views
0

我一直在使用Selenium產品。硒 - 如何讓腳本使用ajax控件下拉式

定期的HTML頁面,表單和JavaScript與它一起工作得很好。

我們的開發人員剛剛添加了一個AJAX下拉菜單。

我不能'記錄'硒,我該如何使用它?實際上,我可以記錄控件是最初點擊(這使得下拉菜單出現),但不是什麼選項然後點擊。那我怎麼能檢測到他們點擊了其中一個選項?

時顯示的HTML是:

<ul id="fruit-switcher" class="nav nav-pills"> 
    <li class="dropdown"> 
    <a class="dropdown-toggle" href="#"> 
     Change fruit… 
     <b class="caret"></b> 
    </a> 
    <ul class="dropdown-menu"> 
     <li> 
     <a rel="nofollow" data-method="put" href="/admin/fruits/23-bananas/activate"></a> 
     </li> 
     <li> 
     <a rel="nofollow" data-method="put" href="/admin/fruits/28-apples/activate"></a> 
     <li> 
     </li> 
     <li> 
     other options (a links)... 
     </li>... 
    </ul> 
    </li> 
</ul> 
<script> 

    //<![CDATA[ 
    $(function() { 
     $('#fruit-switcher .dropdown-toggle').dropdown(); 
    }) 
    //]]> 

</script> 
+0

您(或您的開發)也許能[添加JQuery的融入硒(http://stackoverflow.com/questions/3235013/how使用jquery-in-selenium),然後你可以使用JQuery選擇器添加測試。 – mccannf 2013-02-14 00:00:04

回答

0

您可以隨時send_keys的元素。

0

其實這是直接的硒代碼:

click link="Change..." 
pause 200 
click //ul[contains(@id,'fruit-switcher')]//ul[contains(@class,'dropdown-menu')]/li[3]/a 
click link="Change..." 
pause 600 
click //ul[contains(@id,'fruit-switcher')]//a[contains(text(),'Bananas')]