2

我有一个通过 JS 即时创建的 div 元素。

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

现在我的 Selenium IDE 定位器能够使用各种选择器访问这个元素,但是无论我使用什么事件,例如 mouseOver 或 clickAt 等,它们似乎都被忽略了。

我当然可以为此编写一些脚本,但我想用鼠标准确地测试鼠标悬停而不是自己发送它。

有人对此有想法吗?录音机也不记录这个。

感谢和问候

4

1 回答 1

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>

还有 selenium 测试(只需将其保存在 .html 文件中并从 Selenium 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>
于 2013-05-18T18:26:42.643 回答