Tag: internet explorer

Selenium 2 WebDriver UnhandledAlertException Java

在我开始受到责骂之前,我已经阅读了大部分关于此问题的现有问题,并应用了不同的解决方案(大多数重复同样的事情),但它仍然不适用于我。 我有一个包含所有必要依赖项的maven项目,测试中的网站专门针对IE进行,并要求我拥有特定的证书才能访问它。 我有它的证书,当我进入网站时,在加载页面之前它要求我确认我有证书,我需要在弹出窗口确认,然后登录页面完全加载。 我做过典型的做法: WebDriverWait wait = new WebDriverWait(driver, 3); try { // Handle alert box driver.navigate().to(“https://ke.m-pesa.com/ke/”); wait.until(ExpectedConditions.alertIsPresent()); Alert alert = driver.switchTo().alert(); alert.accept(); } catch(Exception e) { //whatever } 你能告诉我哪里出错了吗? 到目前为止,到目前为止我只使用了Selenium RC,所以这个webdriver的东西对我来说仍然是一种新的东西。 如果您需要我提供更多信息,请告诉我。 为什么我仍然得到UnhandledAlertException? 为什么我手动按下确定按钮之前无法访问登录页面?

如果用户点击IE窗格,IE中的modal dialog将隐藏在IE后面

我必须编写一个带有密码对话框的applet。 问题是对话框总是在顶部,但是当用户点击IE窗口时,对话框仍隐藏在IE窗口后面。 并且由于对话框是模态的并且保存所有 IE线程,因此IE窗格不会刷新,并且对话框窗口仍然绘制在IE之上(但不刷新)。 这种行为使用户感到困惑(他们看到 IE上面的对话框,但看起来它已被绞死,因为它没有刷新)。 所以我需要一种方法来保持对话在所有事情之上。 但是这个问题的任何其他解决方案都会很好。 这是代码: PassDialog dialog = new PassDialog(parent); /* do some non gui related initialization */ dialog.pack(); dialog.setLocationRelativeTo(null); dialog.setAlwaysOnTop(true); dialog.setVisible(true); 解决方案:正如@shemnon所说,我应该创建一个窗口而不是(null,Frame,Applet)modal dialog的父级。 初始化父母的好方法是: parent = javax.swing.SwingUtilities.getWindowAncestor(theApplet);

查看oracle app并获取:java.lang.ClassNotFoundException:oracle.forms.engine.Main

我正在尝试调试oracle表单应用程序。 在生产中,当我加载应用程序时,我收到一个错误:java.lang.ClassNotFoundException:oracle.forms.engine.Main 我不确定导致这个问题的原因。 我现在一直在搜索论坛半天,看起来它可能与java版本问题有关。 我已经包含了(略微修改以保护我的公司)java控制台输出,如果我正确读取它,看起来像证书需要重新打包。 但是,当我查看该网站的证书时,它表示已通过verisignvalidation。 我正在使用IE 9来尝试查看表单应用程序,我得到一个:java.lang.ClassNotFoundException:oracle.forms.engine.Main 在Java控制台中,我得到以下输出: Java Plug-in 1.6.0_45 Using JRE version 1.6.0_45-b06 Java HotSpot(TM) Client VM User home directory = C:\Users\my_username network: Cache entry not found [url: https://company_site.ca:4446/forms/java/frmall.jar, version: null] network: Connecting https://company_site.ca:4446/forms/java/frmall.jar with proxy=DIRECT network: Connecting http://company_site.ca:4446/ with proxy=DIRECT javax.net.ssl.SSLException: Received fatal alert: unexpected_message at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source) at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source) […]

Java Web Start Applet打开新的浏览器窗口/选项卡忽略目标

成功将applet迁移到java webstart applet后,我注意到每次调用 getAppletContext().showDocument( new URL(“http://”+ host+ “/” + filename + language + “.htm”), “Helppage”); 打开一个新的浏览器窗口(Win 7 / MSIE11)或选项卡(firefox取决于配置),虽然我显然请求一个特定的命名可能已经打开的浏览器窗口。 有没有人成功地将这些调用重定向到一个浏览器窗口(选项卡)? 如果有,怎么样? 看起来与如何关闭由Java Web Start打开的浏览器窗口类似的上下文 提前致谢

如何检测IE中是否启用了Java?

可能重复: 确定客户端浏览器是否已安装Java并可以启动applet 我想运行检查以查看是否未安装Java或者是否在IE中禁用/阻止了Java。 我尝试过navigator.javaEnabled() ,这在Firefox(v10.0.2)中按预期工作,但在IE8中它返回TRUE。 但是,IE会向用户显示提示: 您正在查看的页面使用Java。 有关Java支持的更多信息,请访问Microsoft网站。 我遇到的问题是,有一个复选框”Do not show this message again” ,显然可以勾选,然后不再向用户提示未启用Java。 我如何处理IE中缺少Java支持?

Selenium WebDriver和InternetExplorer

我最近更新到Selenium 2.24.1以使Firefox 13正常工作。 通过此更新,您现在可以运行类似于chromedriver.exe的可执行文件,以便将事件分派给IE。 但是,我没有运气测试与IE运行。 为了使用chrome运行,我显然必须设置webdriver.chrome.driver位,但是它和Firefox的代码相同。 这是我的源代码: public class GoogleTest { @Test public void test() throws Exception { System.setProperty(“webdriver.ie.driver”, “IEDriverServer.exe”); final WebDriver driver = new InternetExplorerDriver(); driver.get(“http://www.google.com”); driver.findElement(By.name(“q”)).sendKeys(“test”); driver.findElement(By.name(“q”)).submit(); driver.quit(); } } 但是,在执行此测试时,我会遇到此堆栈跟踪 org.openqa.selenium.NoSuchElementException: Unable to find element with name == q (WARNING: The server did not provide any stacktrace information) Command duration or timeout: […]

在HTTP请求中创建的PDF将无法在Internet Explorer中打开

我有servlet根据请求中的一些参数动态生成PDF到响应。 当我尝试在IE中打开/下载此文件时,我收到以下消息: “无法从[site]下载[filename]。无法打开此Internet站点。请求的站点要么不可用,要么找不到。请稍后再试。” 这是我设置的响应: response.setHeader(“Content-Disposition”, “attachment;filename=” + title + “.pdf”); response.setContentType(“application/pdf”); 其他浏览器一切正常。 更新: 我尝试过内联而不是附件。 这将打开一个新窗口而不是打开/保存对话框(我希望有对话框),错误消息消失了,但新窗口在IE中只是空的。 仍在使用其他浏览器。 我试过简单,双重,没有引号围绕文件名,不包含任何未转义的字符。 双重和没有引号没有区别,但单个文件附加到文件名,我当然不想要。 文件名不包含未转义的字符。 我已经检查了这个页面上的测试,它表示所有浏览器都会传递带有文件名,没有引号的附件 。 这是从一开始就使用的。 添加Content-Lenght标头没有区别。 顺便说一句,飞碟用于制作PDF。

“输入”命令按钮不提交仅按IE <9

我有2个元素彼此跟随(不是另一个),例如: 这很好用。 我遇到的问题是在IE 8中(我假设其他旧版本)在第一种forms时,我点击了我的键盘上的“输入”键,表单未提交。 页面重新加载,但甚至没有调用#{searchBar.search1} 。 所有这些奇怪的是,这在第二种forms中工作正常。 我没有收到错误消息,也没有从浏览器获得任何反馈。 在我的支持bean中,我有类似的东西: public String search1() { System.out.println(“submitting form1”); return “success”; } public String search2() { System.out.println(“submitting form2”); return “success”; } 当使用点击“回车”键时,我甚至没有进入支持bean。 但是:当我“点击”提交按钮(用鼠标)时,一切正常。 任何有关这方面的见解将不胜感激!

deployJava.js未在IE 11中检测到JRE

我正在使用deployJava.js来包含这样的applet: var attributes = { name:’ForrestGump’, id:’ForrestGump’, codebase:’java/’, code:’ForrestGump’, cache_archive:’ForrestGumpSigned.jar’, cache_option:’Plugin’, initial_focus:false, width:1, height:1 }; var parameters = { } ; var version = ‘1.7.0’ ; deployJava.runApplet(attributes, parameters, version); 一些使用IE 11的用户(在Windows 7中,我不确定Windows 8.1)抱怨它会自动将它们转发到Java下载页面(在加载applet之前),即使已经安装了最新的java。 我已经通过使用Java的Verification applet和设置var version =’1.1’来validation这一点; 在上面的js中,他们说将不会强制使用特定版本。 validation小程序告诉我已经安装了Java,即使版本=’1.1’,它仍然会重定向它们。 我注意到的另一件事是Java卸载工具没有为它们加载。 它说java没有安装。 重新启动浏览器和PC似乎对此没有任何影响。 有没有人遇到过这个? 关于如何禁止deployJava从转发到下载页面的任何建议,无论是什么,或者IE 11解决方法。

如何使用Selenium WebDriver启动InternetExplorerDriver

我下载了驱动程序,并在代码中给出了确切的路径,但是当我运行代码时,它显示错误 我的java代码如下: System.out.println(“Internet Explorer is selected”); System.setProperty(“webdriver.ie.driver”,”C:\\Program Files\\Selenium\\Drivers\\IEDriver\\IEDriverServer.exe”); driver = new InternetExplorerDriver(); selenium = new WebDriverBackedSelenium(driver, “http://www.datamoat.com/”); 并且错误消息是 org.openqa.selenium.remote.SessionNotFoundException: Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones. Enable Protected Mode must be set to the same value (enabled or disabled) for all zones. (WARNING: The server did not […]