我将发布一个例子,想知道有什么解决方案 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="http://samples.msdn.microsoft.com/workshop/samples/author/dhtml/refs/showModalDialog2.htm" />
<title>New Test</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr>
<td rowspan="1" colspan="3">New Test</td>
</tr>
</thead>
<tbody>
<!--//Open the application and wait to load the combobox-->
<tr>
<td>open</td>
<td>/workshop/samples/author/dhtml/refs/showModalDialog2.htm</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>name=oHeight</td>
<td></td>
</tr>
<!--//Insert height value and click "Push To Create" button-->
<tr>
<td>select</td>
<td>name=oHeight</td>
<td>label=250</td>
</tr>
<tr>
<td>click</td>
<td>css=input[type="button"]</td>
<td></td>
</tr>
<!--//Wait for the loading the modal page title and check the text -->
<tr>
<td>waitForElementPresent</td>
<td>//h1</td>
<td></td>
</tr>
<tr>
<td>verifyTextPresent</td>
<td>This is a modal dialog box. This page is not designed to do
anything except display the dialog box arguments.</td>
<td></td>
</tr>
<!--//close the screen and verify that the previous screen is loaded from the height field-->
<tr>
<td>close</td>
<td></td>
<td></td>
</tr>
<tr>
<td>selectWindow</td>
<td>null</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>name=oHeight</td>
<td></td>
</tr>
</tbody>
</table>
</body>
</html>
答案 0 :(得分:0)
Web应用程序实际上没有模态对话框,但浏览器对话框除外(例如“将文件另存为...”)和JavaScript的window.alert()
,{{1} }和window.prompt()
。其他所有内容都是一个单独的窗口(如在传统的Web应用程序中)或阻止访问其背后元素的覆盖(如现代,AJAXy,Web应用程序)。
如果是单独的窗口,则需要window.confirm()
然后waitForPopUp ...windowname...
,然后selectWindow ...windowname...
(没有名称)才能切换回来。
在叠加层的情况下,您可以像页面中的任何其他内容一样对其进行寻址,但您可能会惊讶于元素定位器可能是什么(或者您可能不会)。使用Firefox的“XPather”或“Firebug”插件来找出正确的XPath表达式。