Tag: firefox

Selenium 2.48.2 + firefox 42 +浏览器未实例化

我从2.46.0升级到Selenium 2.48.2并将firefox升级到最新版本42.升级后,浏览器没有实例化。 所有项目都会发生这种情况。 我也尝试降级firefox和selenium,但它没有帮助。 请建议!! 以下是错误: org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output: addons.xpi-utils DEBUG Make addon app-global:{972ce4c6-7e08-4474-a285-3208198ce6fd} visible 1447491412018 DeferredSave.extensions.json DEBUG Save changes 1447491412018 DeferredSave.extensions.json DEBUG Save changes 1447491412018 addons.xpi DEBUG Updating XPIState for {“id”:”{972ce4c6-7e08-4474-a285-3208198ce6fd}”,”syncGUID”:”OsOdnf_TnA9t”,”location”:”app-global”,”version”:”42.0″,”type”:”theme”,”internalName”:”classic/1.0″,”updateURL”:null,”updateKey”:null,”optionsURL”:null,”optionsType”:null,”aboutURL”:null,”iconURL”:null,”icon64URL”:null,”defaultLocale”:{“name”:”Default”,”description”:”The default theme.”,”creator”:”Mozilla”,”homepageURL”:null,”contributors”:[“Mozilla Contributors”]},”visible”:true,”active”:true,”userDisabled”:false,”appDisabled”:false,”descriptor”:”C:\\Program Files (x86)\\Mozilla Firefox\\browser\\extensions\\{972ce4c6-7e08-4474-a285-3208198ce6fd}”,”installDate”:1447489593709,”updateDate”:1447489593709,”applyBackgroundUpdates”:1,”skinnable”:true,”size”:24301,”sourceURI”:null,”releaseNotesURI”:null,”softDisabled”:false,”foreignInstall”:false,”hasBinaryComponents”:false,”strictCompatibility”:true,”locales”:[],”targetApplications”:[{“id”:”{ec8030f7-c20a-464f-9b0e-13a3a9e97384}”,”minVersion”:”42.0″,”maxVersion”:”42.0″}],”targetPlatforms”:[]} 1447491412018 addons.xpi DEBUG getModTime: […]

Selenium测试运行不会保存cookie?

所以我正在试验Selenium自动化,我正在尝试编写一个登录的测试用例,转到特定页面,输入数据,然后按提交。 问题是,当它运行时,它键入凭据,按“提交”网站返回: 本网站使用HTTP cookie来validation授权信息。 请启用HTTP Cookie以继续。 但是当我添加这一行[由// 1表示]时: driver.findElement(By.cssSelector(“p > input[type=\”submit\”]”)).click(); 它允许登录通过直到它到达发送消息页面[由// 2表示],它再次请求凭证(就好像没有登录一样)。 所以firefox根本不接受cookie吗? 我该如何解决? 资源: import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.JUnitCore; import org.openqa.selenium.*; import org.openqa.selenium.firefox.FirefoxDriver; import java.util.concurrent.TimeUnit; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; public class LaPwn { private WebDriver driver; private String baseUrl; private boolean acceptNextAlert = true; private StringBuffer verificationErrors = […]

java运行时6与socks v5代理 – 可能吗?

我编写了一个应用程序(除此之外)在Windows中运行本地服务,充当Firefox的SOCKS v5代理。 我现在正处于调试阶段,发现某些网站无法正常运行。 例如,Facebook.com上的图片上传Java Applet失败,因为无法查找域。 我的应用程序覆盖隐藏的FF配置设置network.proxy.socks__remote__dns将其设置为true 。 该应用程序的整个目的是允许在防火墙后面访问网站(例如,如果用户在中国),因此此设置对于确保远程解析域(而不仅仅是HTTP请求)至关重要。 在JRE6设置( 此处记录 )中没有相应的设置,因为远程DNS解析是SOCKS v5的一个function而不是v4,因为文档似乎意味着我担心它是不可能的。 如何以编程方式确保JRE对所有请求(包括DNS)使用SOCKS v5代理? 更新:重现此问题的步骤: 确保您位于阻止(或重定向)Internet访问( 包括DNS )的防火墙后面 安装PuTTY并在您选择的某个端口号上添加动态SSH隧道(例如9870)。 然后登录到可以完全访问Internet的远程服务器 启动Firefox,您将无法浏览网页 在FF网络设置中,将SOCKS v5代理设置为localhost:9870 在FF中转到about:config,将network.proxy.socks__remote__dns更改为true 您现在可以浏览网页了。 转到facebook.com,登录,转到您的个人资料并尝试使用图片上传器java applet添加一些图片 它会因一系列类未找到的错误而失败,类似于: load:未找到类com.facebook.facebookphotouploader5.FacebookPhotoUploader5.class 。 我相信这是失败的,因为JRE无法解析该类所在的域。 我基于这样的信念,即文档( http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment-guide/properties.html )仅讨论SOCKS v4(其中据我所知,不支持远程DNS)。 我的deployment.properties文件位于%APPDATA%\ Sun \ Java \ Deployment中。 我可以确认我在Java控制面板中进行的修改会写入该文件。 如果不是“使用浏览器设置”而是Java的网络设置覆盖并尝试手动使用SOCKS代理设置,我仍然遇到问题。 似乎没有一种简单的方法可以强制JRE通过代理远程执行DNS。 更新2: 没有SOCKS代理,来自我的本地客户端 www.facebook.com解析为203.161.230.171 upload.facebook.com解析为64.33.88.161 两个主机都不可访问(因为防火墙) 如果我登录到远程服务器,我会得到: www.facebook.com 69.63.187.17 upload.facebook.com 69.63.178.32 几分钟后这两个IP都会发生变化,因为看起来Facebook使用循环DNS和其他负载平衡。 […]

如何使用Geckodriver禁用Selenium中的Firefox日志记录?

我在用: firefox版本50.1.0 geckodriver版本0.11.1 selenium-java 3.0.1 我努力了 FirefoxProfile profile = new FirefoxProfile(); profile.setPreference(“webdriver.log.browser.ignore”, true); profile.setPreference(“webdriver.log.driver.ignore”, true); profile.setPreference(“webdriver.log.profiler.ignore”, true); FirefoxDriver driver = new FirefoxDriver(); 和 LoggingPreferences preferences = new LoggingPreferences(); preferences.enable(LogType.BROWSER, Level.OFF); preferences.enable(LogType.CLIENT, Level.OFF); preferences.enable(LogType.DRIVER, Level.OFF); preferences.enable(LogType.PERFORMANCE, Level.OFF); preferences.enable(LogType.SERVER, Level.OFF); DesiredCapabilities capabilities = DesiredCapabilities.firefox(); capabilities.setCapability(CapabilityType.LOGGING_PREFS, preferences); FirefoxDriver driver = new FirefoxDriver(capabilities); 这些方法都没有做任何事情来阻止记录。 如果这有助于某种方式,这是控制台输出: 第一种方法: http : //pastebin.com/23nate2G […]

编写一个firefox插件并从java应用程序访问它

我想写一个firefox插件,它将与java应用程序通信。 该插件必须通知java应用程序正在加载的网页/url。 java应用程序将负责其余的工作。 任何帮助或指示将不胜感激。

在Firefox中自动下载pdf文件

我正在用Selenium和JUnit进行测试。 我正在尝试导出报告(pdf和xls)。 使用Selenium,我单击下载链接,并执行verifcar断言文件位于正确的文件夹中。 我能够使用xls测试,但Firefox总是询问我想用PDF做什么。 Firefox,Selenium的配置如下: String downloadPath = new File(“src/test/resources/firefox_download”).getAbsolutePath(); firefoxProfile.setPreference(“browser.download.dir”, downloadPath); firefoxProfile.setPreference(“browser.download.lastDir”, downloadPath); firefoxProfile.setPreference(“browser.download.manager.showWhenStarting”, false); firefoxProfile.setPreference(“plugin.disable_full_page_plugin_for_types”, “application/pdf,application/vnd.fdf”); firefoxProfile.setPreference(“browser.download.folderList”, 2); firefoxProfile.setPreference(“browser.download.defaultFolder”, downloadPath); firefoxProfile.setPreference(“browser.helperApps.neverAsk.saveToDisk”, “application/pdf, application/vnd.fdf, application/x-msdos-program, application/x-unknown-application-octet-stream, application/vnd.ms-powerpoint, application/excel, application/vnd.ms-publisher, application/x-unknown-message-rfc822, application/vnd.ms-excel, application/msword, application/x-mspublisher, application/x-tar, application/zip, application/x-gzip,application/x-stuffit,application/vnd.ms-works, application/powerpoint, application/rtf, application/postscript, application/x-gtar, video/quicktime, video/x-msvideo, video/mpeg, audio/x-wav, audio/x-midi, audio/x-aiff”); // tipo específico firefoxProfile.setPreference(“browser.helperApps.alwaysAsk.force”, false); 我可以手动更改,在这里: 或者在这里: 但我需要以编程方式执行此操作,否则测试将在其他地方失败(例如服务器/声纳) […]

使用Selenium在FireFox中设置首选项时出现mime类型问题

这是我几周来一直在努力解决的问题,但似乎找不到可行的解决方案。 在坚果壳中,我的程序进入一个网站并下载一些文件。 当它下载文件时,FireFox总是会显示弹出窗口,询问我要将其保存到的位置。 为了摆脱这个弹出窗口,我创建了一个配置文件首选项。 profile.setPreference(“browser.helperApps.neverAsk.saveToDisk”,”application/zip,application/vnd.ms-excel”); 这个首选项适用于我需要下载的一个zip文件,但它完全被我需要的其他3个Microsoft CSV文件忽略。 我已经尝试了我能想到的每种适用的mime类型,但它们都没有用。 我通过在线程序运行我的文件,该程序应该告诉你文件的mime类型,并且它宣称我测试的文件是application/vnd.ms-excel 。 不幸的是,我从来没有能够使这种类型工作。 我尝试了各种不同的方式来设置配置文件,例如: profile.setPreference(“browser.helperApps.neverAsk.saveToDisk”,”application/zip” + “application/vnd.ms-excel”); 甚至只使用application/vnd.ms-excel而不使用前面的zip类型,仍然没有骰子。 还有另一种方法可以设置这个我每次尝试下载这些文件时没有弹出窗口的地方吗? 更好的是,我的代码有什么问题可以让zip文件工作,但不是Microsoft csv吗?

使用selenium java在firefox gecko驱动程序中自动下载pdf

任何人都可以帮助创建配置文件并使用firefox( gecko 驱动程序 )设置选项,以自动下载selenium webdriver – java中的文件。 我已经搜索了很多谷歌搜索的选项,没有什么工作。 所以在堆栈溢出时发布我的查询。 如果可能,请帮助一些代码段。 这适用于selenium 3和firefox 52。 提前致谢。

如何通过Java中的Firefox配置文件下载CSV文件

问题 – 设置Firefox配置文件后,Firefox在下载CSV文件时不断询问下载位置。 请帮忙。 System.setProperty(“webdriver.gecko.driver”, “..\\C_Automation\\Files\\geckodriver64_15.0.exe”); FirefoxProfile Profile = new FirefoxProfile(); Profile.setPreference(“browser.download.dir”,downloadFilepath); Profile.setPreference(“browser.download.folderList”,2); Profile.setPreference(“browser.helperApps.neverAsk.saveToDisk”, “text/csv”); Profile.setPreference(“browser.download.manager.showWhenStarting”,false); Profile.setPreference(“browser.helperApps.neverAsk.openFile”,”text/csv”); Profile.setPreference(“browser.helperApps.alwaysAsk.force”, false); driver = new FirefoxDriver(Profile);

使用Selenium WebDriver未检测到Firefox警报框

错误net.serenitybdd.core.Serenity – 不存在警报(警告:服务器未提供任何堆栈跟踪信息) 当我尝试使用此代码检测警报时出现此错误: Alert alertBox = getDriver().switchTo().alert(); 警报弹出窗口确实显示,但是当我通过Selenium WebDriver和manualy执行操作时,它不完全相同。 这可能是问题的根源,但我不知道为什么弹出窗口不同。 手动完成时的警报 使用Selenium完成警报 这是调用警报的函数: function confirm_remove() { return window.confirm(“Alert message”); } 谢谢你的帮助 更新: 好的,我找到了一种绕过问题但没有真正解决问题的方法。 我尝试插入等待和睡眠,就像你建议我一样,但它没有解决问题,警报仍未被发现。 在我的项目中,我使用的是一个Test类,它调用我的Steps类中的步骤,该类从我的Page类调用webElements。 事情是,在单击“删除”按钮的步骤和管理警报的步骤之间,Selenium会丢失警报的处理。 所以我重新组合了这两个步骤,Selenium似乎很好地处理了警报。