Selenium IDE在弹出窗口中卡在clickAndWait命令上

Mac*_*ver 2 anchor postback command selenium-ide

如何使用Selenium IDE(当然在Mozilla Firefox中)自动单击此锚标记?我尝试了两种不同的方法,但都没有工作.这是在弹出窗口中是否重要?我可以让其他控件工作.

HTML:

<a href="javascript:__doPostBack('EditTestResult$EditOverallTestResults$BucketMove$LBuSelect','')" class="standard-text" id="EditTestResult_EditOverallTestResults_BucketMove_LBuSelect"> - > </a>

Selenium代码不起作用:

命令:clickAndWait
目标:id = EditTestResult_EditOverallTestResults_BucketMove_LBuSelect
值:

Selenium代码不起作用:

命令:clickAndWait
目标:link = - >
值:

==========================

8/7/2011更新

所以我得到了关于这个的更多信息.此命令之前的命令如下:

命令:addSelection
目标:id = idofmultiselect
值:option1

当我在上面的"clickAndWait"命令中启动脚本(按键"s")时,它可以正常工作(对于这两个版本). 当IDE在clickAndWait命令上获得STUCK时,我就有了这个多选项. 我尝试过使用"addSelectionAndWait"并且没有修复它.

==========================

8/8/2011更新

我不能把实际的动态代码放进去,所以这就足够了.

<html>

<body>

<form>

<table cellpadding="0" cellspacing="0" border="0">
    <tr>
        <td><span id="EditTestResult_EditOverallTestResults_BucketMove_LblUnselectedBox">Does Not Have Results...</span><br>
            <select size="4" name="EditTestResult$EditOverallTestResults$BucketMove$LBoUnselected" multiple="multiple" id="EditTestResult_EditOverallTestResults_BucketMove_LBoUnselected" style="height:100px;width:220px;">
        <option value="214">Cocaine/Metabolite - Positive</option>

        <option value="213">Opiate - Positive</option>
        <option value="37">Phencyclidine - Positive</option>
        <option value="58">THC Metabolite - Positive</option>

    </select></td>
        <td vAlign="middle">
            <table>
                <tr>

                    <td><a id="EditTestResult_EditOverallTestResults_BucketMove_LBuSelect" class="standard-text" href="javascript:__doPostBack('EditTestResult$EditOverallTestResults$BucketMove$LBuSelect','')">-&gt;</a></td>
                </tr>
                <tr>
                    <td><a id="EditTestResult_EditOverallTestResults_BucketMove_LBuUnselect" class="standard-text" href="javascript:__doPostBack('EditTestResult$EditOverallTestResults$BucketMove$LBuUnselect','')">&lt;-</a></td>
                </tr>
            </table>
        </td>
        <td><span id="EditTestResult_EditOverallTestResults_BucketMove_LblSelectedBox">Has Results...</span><br>

            <select size="4" name="EditTestResult$EditOverallTestResults$BucketMove$LBoSelected" multiple="multiple" id="EditTestResult_EditOverallTestResults_BucketMove_LBoSelected" style="height:100px;width:220px;">
        <option value="206">Amphetamine - Positive</option>

    </select></td>
    </tr>
</table>


<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['Form1'];
if (!theForm) {
    theForm = document.Form1;
}
function __doPostBack(eventTarget, eventArgument) {
    alert("doing postback");
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>
</script>

</form>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

====================

8/22/2011更新:

发现ASP.NET验证可能导致clickAndWait命令隐式失败.在Selenium中运行脚本时,Selenium IDE中的验证消息与手动使用Web浏览器时的验证消息不同.因此看起来命令可能会失败,但实际上,表单无法提交,并且您无法在手动单击鼠标按钮时看到浏览器中的红色验证消息(而不是clickAndWait命令执行此操作).这解决了我的一大堆问题,但不是这个问题.我还在寻找答案.

ada*_*her 5

这里的问题可能是同步问题.如果这是一个AJAX,它似乎是,那么所有的AndWait方法对你来说都是无用的.

尝试使用Click后跟WaitForElementPresent或类似的东西.

AndWait仅在浏览器中有完整的物理页面加载时才能工作.这看起来像是一个更大的形式的一部分,如果根据您提供的代码发生这种情况,我会感到惊讶.

另见http://saucelabs.com/blog/index.php/2011/02/advanced-selenium-synchronization-with-latches/