|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试) |
|