弹出对话框的处理—Selenium自动化测试指南(6)

发表于:2013-9-02 11:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:赵卓    来源:51Testing软件测试网

分享:

  Prompt:输入对话框,需要输入内容(对应的JavaScript代码为“prompt('这就是prompt','');”),如图5-所示。

  图5-输入框

  由于Selenium 1使用的是JavaScript注入的方式来进行测试,所以无法直接处理JavaScript弹出对话框,而是对弹出对话框进行“预处理”。因此,那些在手工测试会出现弹出对话框的地方,在使用Selenium 1测试时不会有任何JavaScript弹出对话框弹出,这是因为在弹出前已经“处理”了。

  然而Selenium 2是针对各个浏览器而开发的,取代了嵌入到被测Web应用中的JavaScript。与浏览器的紧密集成,支持创建更高级的测试,避免了 JavaScript安全模型导致的限制。因此弹出对话框会成功弹出的。

  在Selenium 1中,针对不同的弹出对话框需要调用不同的方法,而在Selenium 2中,弹出对话框统一视为Alert对象,只需调用Alert对象的方法即可。

  由于目前网站上很难找到同时找到带有上述3个弹出对话框的网页,所以这里可以自己编写一个网页。首先新建一个文本文件,然后输入如程序清单5-57所示的代码:

  程序清单5-57  testPage.html

<html>
<head>
<title></title>
</head>
<body>
<input type="button" onclick="alert('这是Alert');" value="Alert"/>
<br/>
<input type="button" onclick="confirm('这是Confirmation');" value="Confirmation"/>
<br/>
<input type="button" onclick="prompt('这就是Prompt','');" value="prompt"/>
</body>
</html>

  保存文件并将其更名为testPage.html,使用浏览器将其打开,可以看到如图5-62所示的页面。

  图5-62  testPage.html显示页面

  单击不同的按钮,将会弹出对应的弹出对话框,接下来将在这个页面进行测试。

53/5<12345>
重磅发布,2022软件测试行业现状调查报告~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号