2011-10-18 37 views
4

我有一個使用jQuery拖動的頁面& Drop,我想用Selenium爲這個過程構建一個相對穩健的測試套件。使用Selenium測試jQuery的拖放和拖放

展望硒,我發現它有一個將&拖放到一個jQuery插件像命令:FullCalendar,但是當我使用硒IDE嘗試記錄「拖放我不明白任何記錄的事件。

所以我應該嘗試使用jQuery選擇器來定位事件嗎?

因爲以下不工作(針對 '12P午餐' 的example page

<tr> 
    <td>dragAndDrop</td> 
    <td>/html/body/div[2]/div/div/div[2]/div/div/div/div/div[8]/div</td> 
    <td>+100,+100</td> 
</tr> 

甚至單擊元素

<tr> 
    <td>click</td> 
    <td>/html/body/div[2]/div/div/div[2]/div/div/div/div/div[8]/div</td> 
    <td>+100,+100</td> 
</tr> 

在這兩種情況下,的XPath ISN沒有發現。那麼我該如何瞄準這個不斷變化的元素?如果我有一個獨特的編號在選擇器可以我的目標呢?無論哪種方式拖動&下降似乎並不奏效:

<tr> 
    <td>dragAndDrop</td> 
    <td>id=targetelement</td> 
    <td>+100,+100</td> 
</tr> 

而且我可以定位在「位置」 jQuery的元素呢?

<tr> 
    <td>dragAndDrop</td> 
    <td>selenium.getuserwindow.browserbot.jQuery('#targetelement')</td> 
    <td>+100,0</td> 
</tr> 

回答

4

這對我的作品......

<!--test sorting--> 
<!--move block 2 to col 1--> 
<tr> 
    <td>mouseDownAt</td> 
    <td>//div[@id="block-set-col-1"]/ul/li</td> 
    <td>80,20</td> 
</tr> 
<tr> 
    <td>mouseMoveAt</td> 
    <td>//div[@id="block-set-col-0"]/ul</td> 
    <td>50,10</td> 
</tr> 
<tr> 
    <td>mouseOver</td> 
    <td>//div[@id="block-set-col-0"]/ul</td> 
    <td>50,10</td> 
</tr> 
<tr> 
    <td>pause</td> 
    <td>2000</td> 
    <td></td> 
</tr> 
<tr> 
    <td>mouseUpAt</td> 
    <td>//div[@id="block-set-col-0"]/ul</td> 
    <td>50,10</td> 
</tr> 
+0

你跟示例頁面的工作,我引用?我無法找到您引用的ID - 您是否將它們添加到頁面? –

+0

沒有這是一個在另一個項目中爲我工作的測試,它演示了這個過程 – chim