我是 Selenium IDE 的新手,目前未能通过第一垒,被测应用程序在弹出窗口中打开一个登录窗口,输入用户名和密码,然后单击登录按钮,此时窗口关闭并显示应用程序主浏览器窗口,脚本似乎记录了 OK 但是在播放时它失败并出现 Element not found 错误,如果我使用 Target Find 按钮,则找到该字段(突出显示黄色),如果我执行命令它将值写入所以 Selenium 似乎知道它在那里。
我已经尝试了目标下拉列表中的每个选项(全部失败)并尝试输入具有相同结果的显式 xpath。任何帮助表示赞赏。
Selenium 默认目标:
id=用户名
使用 Firebug 获得的 xpath:
//*[@id="用户名"]
显式 xPath:
xpath=/html/body/table/tbody/tr/td/div/div/form/table/tbody/tr[6]/td[3]/input[@id="USERNAME"]
登录窗口源码:
<body text="#000000" marginwidth="0" marginheight="0" oncontextmenu="return false;" topmargin="0" leftmargin="0">
<div class="header">
<table width="100%" cellspacing="1" cellpadding="1" border="0">
<tbody>
<tr>
<td width="20%"> </td>
<td class="Login">
<p align="center">
<div id="1ULogon">
<div id="2ULogon" onclick="websys_sckeys[String.fromCharCode(113)]='websys_help(\'1473\',\'-100000000000000\',\'\');'" style="LEFT: 0px; TOP: 0px">
<form id="3ULogon" autocomplete="off" name="3ULogon" method="post" action="logon.asp">
<input id="AB" type="HIDDEN" value="4UserLogon" name="AB">
<input id="AC" type="HIDDEN" value="zzzzzz" name="AC">
<table>
<tbody>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<td>
<td>
<td>
<input id="USERNAME" value="" title="Username" tabindex="1" name="USERNAME">
更新:
不确定这是否是错误的线索 - 窗口名称是:
_parent
我看到一条评论说“与框架一起使用,它将在内部框架内打开”
这和这个有什么关系吗?
父页面上的脚本如下:
<!--
var url='logon.asp?xxx';
function newwin(url)
{
var
window.open('','_parent','');
window.close();
}
//-->
然后在 BODY 标签中我们有
<body onload="newwin(url1);">
非常有信心弹出窗口被命名为_parent,但很高兴被告知否则......