仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1533|回复: 10
打印 上一主题 下一主题

[学习教程] 来看利用selenium测试showModalDialog模态对话框

[复制链接]
只想知道 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:23:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
java主要分三块,j2se:java的基础核心语言。j2me:java的微型模块,专门针对内存小,没有持续电源等小型设备。j2ee:java的企业模块,专门针对企业数据库服务器的连接维护。
Selenium今朝没有供应对IE模态对话框(即经由过程showModalDialog办法翻开的弹出对话框)的处置。缘故原由在于,模态对话框会将父页面的JS挂起,直至对话框处置终了才会持续实行父页面JS。由于Selenium的底层完成是基于JS的,以是模态对话框会同时将selenium挂起,selenium没法选中模态对话框,直至超时。
可是良多体系常常有大批的模态对话框使用。这些使用分为两类:一类是选人、选营业范例等操纵,这些操纵的目标是添补父页面响应的字段,不会触发其他操纵;别的一类对照特别,比方事情流的派发,这类操纵在模态对话框选人前往值后还会持续实行一系列的操纵(即showModalDialog办法的挪用被夹在一堆JS操纵两头)。
关于第一种情形,能够在测试代码里创建响应的数据常量,经由过程间接赋值的体例制止挪用showModalDialog办法;关于第二种情形,则只能hack。
在以后的测试用例里,接纳以下的hack办法:
典范的模态对话框会在点击一个页面元素后翻开(比方button),在第一次点击该页面元素时,我们对showModalDialog办法举行掩盖,改翻开模态对话框为window.open翻开网页,并将selenium选中该弹出网页:
Java代码
public void clickAndSelectModalDialog(String locator){
  clickForModalDialog(locator);
   selenium.selectWindow(“name=modal”);
}

private void clickForModalDialog(String locator){
  String overrideShowModalDialogJs=="if(selenium.browserbot.getCurrentWindow().showModalDialog){";

overrideShowModalDialogJs += "selenium.browserbot.getCurrentWindow().showModalDialog = function( sURL, vArguments, sFeatures)";

overrideShowModalDialogJs +="selenium.browserbot.getCurrentWindow().open(sURL, modal, sFeatures);";

overrideShowModalDialogJs += "};}";
//showModalDialog办法举行掩盖
selenium.getEval(overrideShowModalDialogJs);
selenium.click(locator);
selenium.openWindow(“”,”modal”);
selenium.waitForPopUp(“modal”,”15000”);

}
接上去就能够在弹出网页里举行操纵,猎取必要前往给父页面的值,这些值通常为一个数组。猎取值后封闭弹出网页并前往父页面。在父页面里再次点击翻开模态对话框的元素,对showModalDialog办法举行第二次掩盖,将下面猎取的值间接前往。
<p>
Java编译的是字节码,跟C++相反,启动不够快,效率不够高,难以精确控制内存,但是优点是编程比C++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试)
精灵巫婆 该用户已被删除
沙发
发表于 2015-1-30 07:26:34 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
海妖 该用户已被删除
板凳
发表于 2015-1-30 18:35:52 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
飘灵儿 该用户已被删除
地板
发表于 2015-2-5 17:51:31 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
第二个灵魂 该用户已被删除
5#
发表于 2015-2-9 02:02:46 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
透明 该用户已被删除
6#
发表于 2015-2-26 18:23:55 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
活着的死人 该用户已被删除
7#
发表于 2015-3-5 05:42:00 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
若天明 该用户已被删除
8#
发表于 2015-3-7 10:49:55 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
金色的骷髅 该用户已被删除
9#
发表于 2015-3-12 12:46:58 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
冷月葬花魂 该用户已被删除
10#
发表于 2015-3-19 22:14:28 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
变相怪杰 该用户已被删除
11#
发表于 2015-4-4 09:08:52 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 17:06

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表