Tag: firefox

selenium能处理自动完成吗?

我有一个测试用例,需要在基于ajax的文本字段中键入部分值,并validation列表是否具有预期的内容。 如果是,请选择内容。 知道如何使这项工作?

在Java Swing中嵌入Firefox浏览器

我想知道是否可以将Firefox浏览器作为基于Java Swing的应用程序中的组件嵌入。 我从互联网上做了一些研究,但我找不到答案。 有些人建议使用Java中可用的其他浏览器组件。 我认为这不是更好,因为渲染引擎与Firefox不同。 任何想法? 非常感谢。

如何在多个浏览器中运行Selenium测试,以便使用Java进行跨浏览器测试?

我正在使用Selenium WebDriver和Java和TestNG框架。 我想在一个代码中一次使用Firefox,IE,Chrome进行跨浏览器测试。 我只能将Firefox初始化为 driver = new FirefoxDriver(); 但无法以相同的方式初始化其他浏览器。 例如: driver = new InternetExplorerDriver(); 给出错误InternetExplorerDriver cannot be resolved. driver = new ChromeDriver(); 给出错误ChromeDriver cannot be resolved. 如何初始化IE和Chrome并在所有需要的浏览器中执行我的测试?

确定客户端浏览器是否已安装Java并可以启动applet

我正在开发一个.aspx页面,在用户点击按钮后我将最终启动一个applet(我正在使用标签)。 所以,我想检测是否在用户的浏览器上启用/安装了java。 我正在使用navigator.javaEnabled()方法。 然而,即使这在IE7上工作正常,它在Firefox 3.0.12上返回不一致的结果(不知道不同的浏览器),有时说java已启用(它是),然后启动applet后再次从applet返回此页面,它将报告错误。 如果我关闭firefox并返回applet启动页面,navigator.javaEnabled()将再次(正确)报告true。 是否存在确定此不一致行为的任何内容,或者navigator.javaEnabled()是否是执行Java applet检查的最佳方法? 提前致谢。

Firefox浏览器没有打开selenium webbrowser代码

需要以下指导和帮助。 执行以下代码时,我收到错误。 我使用的是最新版本的java,eclipse,firefox和WebDrive jar文件。 package firsttest1; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class helloselenium { public static void main(String[] args) { WebDriver driver; driver =new FirefoxDriver(); String url =”http://www.google.com”; driver.get(url); } } 错误…. 线程“main”中的exceptionjava.lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver.gecko.driver系统属性设置; 有关更多信息,请参阅https://github.com/mozilla/geckodriver 。 最新版本可以从https://github.com/mozilla/geckodriver/releases下载到com.google.common.base.Preconditions.checkState(Preconditions.java:199)org.openqa.selenium.remote.service。驱动程序.findExecutable(DriverService.java:109)org.openqa.selenium.firefox.GeckoDriverService.access $ 100(GeckoDriverService.java:38)org.openqa.selenium.firefox.GeckoDriverService $ Builder.findDefaultExecutable(GeckoDriverService.java:91 )org.openqa.selenium.remote.service.DriverService $ Builder.build(DriverService.java:296)org.openqa.selenium.firefox.FirefoxDriver.createCommandExecutor(FirefoxDriver.java:245)org.openqa.selenium。 firefox.FirefoxDriver。(FirefoxDriver.java:220)org.openqa.selenium.firefox.FirefoxDriver。(FirefoxDriver.java:215)org.openqa.selenium.firefox.FirefoxDriver。(FirefoxDriver.java:211)at org。 openqa.selenium.firefox.FirefoxDriver。(FirefoxDriver.java:124)at firsttest1.helloselenium.main(helloselenium.java:12) 使用的版本:eclipse:neon version java:jdk1.8 fire fox:v48 WebDrive jar文件:v 3.0.0 […]

使用java中的selenium webdriver登录Gmail

import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; public class NewGmail { public static void main(String[] args) { WebDriver driver = new FirefoxDriver(); driver.manage().window().maximize(); String url = “https://accounts.google.com/signin”; driver.get(url); driver.findElement(By.id(“identifierId”)).sendKeys(“cp8805”); //driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); WebDriverWait wait=new WebDriverWait(driver, 20); driver.findElement(By.xpath(“//span[@class=’RveJvd snByac’]”)).click(); driver.manage().timeouts().implicitlyWait(40, TimeUnit.SECONDS); driver.findElement(By.xpath(“//input[@class=’whsOnd zHQkBf’]”)).sendKeys(“xxxxxx”); driver.findElement(By.xpath(“//span[@class=’RveJvd snByac’]”)).click(); } } 在邮件ID之后,我的密码也会写入id框选项并且服务器重定向到下一个密码页面。 我想问一下我将做什么,以便我的密码只能输入密码页面。

使用Selenium WebDriver和Tor

因为Tor Browser Bundle只是Firefox的补丁版本,所以似乎可以使用带有Tor浏览器的FirefoxDriver 。 这是我到目前为止所尝试的: String torPath = “C:\\Users\\My User\\Desktop\\Tor Browser\\Start Tor Browser.exe”; String profilePath = “C:\\Users\\My User\\Desktop\\Tor Browser\\Data\\Browser\\profile.default”; FirefoxProfile profile = new FirefoxProfile(new File(profilePath)); FirefoxBinary binary = new FirefoxBinary(new File(torPath)); FirefoxDriver driver = new FirefoxDriver(binary, profile); driver.get(“http://www.google.com”); 这会导致一个空白的Tor浏览器页面打开,并显示一条弹出消息: 无法加载您的Firefox配置文件。 它可能丢失或无法访问。 我知道该配置文件是有效/兼容的,因为我可以成功启动浏览器和配置文件: binary.startProfile(profile, profilePath, “”)); 但是,我不知道如何将命令发送到以这种方式打开的浏览器。 我发现了类似的问题,但我特意寻找Java解决方案,最好是在Windows上测试。 我正在使用可在此处下载的独立Selenium库和可在此处下载的Tor Browser Bundle。

使用selenium Java(Mac OSX)将Firefox浏览器置于前端

我正在使用三个火狐驱动程序实例进行自动化。我需要将当前活动的firefox浏览器放在前面,因为我正在使用一些机器人类进行一些操作。 我在mac(同样的操作)中尝试了谷歌浏览器的java脚本警报,并且工作正常。 在windows中使用user32 lib。 在firefox mac的情况下,它在后台显示警报,但网页没有出现在前面。 ((JavascriptExecutor)this.webDriver).executeScript(“alert(‘Test’)”); this.webDriver.switchTo().alert().accept(); 上面的代码我用于Mac中的chrome。 相同的代码正在工作并显示firefox的警报,但窗口没有出现在前面。 请建议是否有任何其他方法在Firefox中执行相同的操作。

Selenium许多日志(如何删除)

我用Firefox 48尝试了Selenium 3.0.1。 我已经尝试过以下代码: java.util.logging.Logger.getLogger( “com.gargoylesoftware.htmlunit”)setLevel(Level.OFF)。 java.util.logging.Logger.getLogger( “org.apache.commons.httpclient”)setLevel(Level.OFF)。 java.util.logging.Logger.getLogger(ProtocolHandshake.class.getName())setLevel(Level.OFF)。 但是一旦我在Netbeans下运行通常的测试,……日志仍然出现: Dec 02, 2016 9:17:53 AM org.openqa.selenium.remote.ProtocolHandshake createSession INFO: Attempting bi-dialect session, assuming Postel’s Law holds true on the remote end Dec 02, 2016 9:17:57 AM org.openqa.selenium.remote.ProtocolHandshake createSession INFO: Detected dialect: OSS 解决这个问题的任何线索?

启动Firefox并等待它关闭

题 我想启动Firefox Web浏览器作为访问特定网站的过程,然后等到它关闭。 一种特殊情况是浏览器可能已经打开并运行,因为用户可能已经访问过某个网站。 在这种情况下,浏览器可能会在现有窗口中打开一个新选项卡,新启动的进程将立即终止。 这不应该混淆我的等待过程:要么,我想要一个新的浏览器窗口(如果可以某种方式强制执行,可能通过命令行参数)并等待它关闭,或保持现有的浏览器窗口并等待所有选项卡结果从我的过程关闭。 环境 我认为没关系,但我的编程环境是Java ,你可以假设我知道浏览器的路径。 例 我可以获得预期行为的唯一浏览器是Internet Explorer (叹息)。 在这里,我需要基本上在一个临时文件夹中创建一个新的批处理脚本 start /WAIT “” “C:\Program Files\Internet Explorer\iexplore.exe” -noframemerging http://www.test.com/ 然后我运行批处理脚本而不是直接浏览器,并在等待完成后删除它。 预期的过程 使目标过程更清晰: 我的程序开始了。 我的程序将Firefox浏览器作为单独的进程启动,并提供一个URL作为该进程的参数进行访问。 Firefox浏览器作为新进程异步运行,并访问提供的URL。 到目前为止,这很容易。 启动新进程(Firefox浏览器)后,我自己的程序应该等待所述进程终止。 这是困难的部分,因为 许多现代浏览器启动多个进程。 我需要等待所有这些。 许多现代浏览器可能以某种方式“脱离”我自己启动的进程。 对不起,我不知道一个更好的词,我的意思是:我启动一个进程然后启动另一个进程并立即终止,而另一个进程继续运行。 如果我等待我的程序最初启动的浏览器进程,则在浏览器仍处于打开状态时等待将完成。 上面的一个特例是在许多浏览器中实现的选项卡式浏览:如果浏览器在我启动时已经打开(在用户启动的单独进程中),我新启动的浏览器进程可能会简单地传达URL以访问现有流程并终止。 当我的程序认为她已关闭浏览器时,用户仍在我提供的URL上。 通过指定特殊的命令行参数(例如IE的noframemerging可能会禁止此问题。 一旦浏览器终止或者与我提供的URL相关的所有标签都已关闭,我的程序将停止等待,而是继续开展业务。 用例是我有一个可以在本地运行或在服务器上运行的Web应用程序。 如果它在本地运行,它将启动Web服务器,然后打开浏览器以访问条目页面。 关闭浏览器后,该Web应用程序也应该关闭。 这对于Internet Explorer来说是可靠的,对于所有其他情况,用户必须关闭浏览器,然后明确地关闭Web应用程序。 因此,如果我能够可靠地等待Firefox完成,这将使用户体验更好。 方案偏好: 解决方案按以下顺序排列 任何与纯Java JRE一起提供的东西。 这包括浏览器的特殊命令行参数。 需要我做的事情,例如,创建批处理脚本(例如在IE的情况下)。 任何需要第三方开源库的东西。 任何需要3rth党闭源图书馆的东西。 任何独立于平台的答案(同时适用于Windows和Linux)都优先于平台相关的答案。 […]