2013-05-10 62 views
2

我有一個div元素,它是通過JS動態創建的。Selenium IDE:綁定mouseOver()動態生成div

<div id='menu_item_0'>foo</div> 

現在我的硒IDE定位器能夠訪問各種選擇此元素,但像例如任何事件mouseOver或clickAt等我使用,他們似乎都被忽略。

我當然可以將一些腳本寫成火,但我想用鼠標精確地測試鼠標懸停而不是自己發送它。

任何人都有這個想法?錄音機也不記錄。

感謝&問候

回答

1

,你能否告訴我們完整的HTML和JS?

這是我成功運行的測試代碼。它與你想要做的事情相匹配嗎?

的HTML:

<html> 
<body> 
    <script> 
    function insert(){ 
     var container = document.getElementById("container") 
     var newdiv = document.createElement('div'); 
     newdiv.setAttribute('id','menu_item_0'); 
     newdiv.innerHTML = 'Added the element'; 
     newdiv.onmouseover = function(){ 
      newdiv.innerHTML = 'I feel tickled'; 
     } 
     newdiv.onclick = function() { 
      newdiv.innerHTML = 'I feel clicked'; 
     } 
     container.appendChild(newdiv); 
    } 

    setTimeout(insert,2000); 
    </script> 
    <div id="container"></div> 
</body> 
</html> 

而且硒測試(只保存在一個.html文件和硒IDE中打開它):

<?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="file:///G:/dev/proj/test-selenium-ide/" /> 
<title>test1</title> 
</head> 
<body> 
<table cellpadding="1" cellspacing="1" border="1"> 
<thead> 
<tr><td rowspan="1" colspan="3">test1</td></tr> 
</thead><tbody> 
<tr> 
    <td>open</td> 
    <td>index.html</td> 
    <td></td> 
</tr> 
<tr> 
    <td>waitForElementPresent</td> 
    <td>menu_item_0</td> 
    <td>2500</td> 
</tr> 
<tr> 
    <td>assertElementPresent</td> 
    <td>menu_item_0</td> 
    <td></td> 
</tr> 
<tr> 
    <td>mouseOver</td> 
    <td>menu_item_0</td> 
    <td></td> 
</tr> 
<tr> 
    <td>assertText</td> 
    <td>menu_item_0</td> 
    <td>I feel tickled</td> 
</tr> 
<tr> 
    <td>clickAt</td> 
    <td>menu_item_0</td> 
    <td></td> 
</tr> 
<tr> 
    <td>assertText</td> 
    <td>menu_item_0</td> 
    <td>I feel clicked</td> 
</tr> 

</tbody></table> 
</body> 
</html> 
+0

感謝。我已經嘗試過類似的東西。但是經過幾個小時和幾個小時的反覆查看代碼,我終於找到了答案:在JavaScript事件處理程序庫中,事件被覆蓋,alwas最終返回「false」。這似乎阻止硒和硒IDE訪問和發送事件。 – bl1ck1 2013-05-19 09:59:35