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 = - >
值:
==========================
所以我得到了关于这个的更多信息.此命令之前的命令如下:
命令:addSelection
目标:id = idofmultiselect
值:option1
当我在上面的"clickAndWait"命令中启动脚本(按键"s")时,它可以正常工作(对于这两个版本). 当IDE在clickAndWait命令上获得STUCK时,我就有了这个多选项. 我尝试过使用"addSelectionAndWait"并且没有修复它.
==========================
我不能把实际的动态代码放进去,所以这就足够了.
<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','')">-></a></td>
</tr>
<tr>
<td><a id="EditTestResult_EditOverallTestResults_BucketMove_LBuUnselect" class="standard-text" href="javascript:__doPostBack('EditTestResult$EditOverallTestResults$BucketMove$LBuUnselect','')"><-</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)
====================
发现ASP.NET验证可能导致clickAndWait命令隐式失败.在Selenium中运行脚本时,Selenium IDE中的验证消息与手动使用Web浏览器时的验证消息不同.因此看起来命令可能会失败,但实际上,表单无法提交,并且您无法在手动单击鼠标按钮时看到浏览器中的红色验证消息(而不是clickAndWait命令执行此操作).这解决了我的一大堆问题,但不是这个问题.我还在寻找答案.
这里的问题可能是同步问题.如果这是一个AJAX,它似乎是,那么所有的AndWait方法对你来说都是无用的.
尝试使用Click后跟WaitForElementPresent或类似的东西.
AndWait仅在浏览器中有完整的物理页面加载时才能工作.这看起来像是一个更大的形式的一部分,如果根据您提供的代码发生这种情况,我会感到惊讶.
另见http://saucelabs.com/blog/index.php/2011/02/advanced-selenium-synchronization-with-latches/
| 归档时间: |
|
| 查看次数: |
3974 次 |
| 最近记录: |