在MAC OS上使用Selenium启动Firefox浏览器遇到问题

5

我正在使用Java中的Selenium测试一个网站,尝试在MAC上的Firefox中运行它。但是当我尝试执行下面的代码时

Selenium selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://www.example.com/");

我遇到了以下运行时异常。
java.lang.RuntimeException: Could not start Selenium session: Failed to start new browser session: Browser not supported: /Users/sumitghosh/Desktop/*firefox3
(Did you forget to add a *?)

Supported browsers include:
  *firefox
  *mock
  *firefoxproxy
  *pifirefox
  *chrome
  *iexploreproxy
  *iexplore
  *firefox3
  *safariproxy
  *googlechrome
  *konqueror
  *firefox2
  *safari
  *piiexplore
  *firefoxchrome
  *opera
  *iehta
  *custom

我也尝试将浏览器更改为*googlechrome,但是仍然出现了相同的错误!

但是当使用*safari时,它成功运行。

由于我希望该应用程序也能在Windows和MAC上运行,因此我尝试使*firefox*googlechrome运行,但是两个浏览器在Windows和MAC上都会引发异常!


你使用的Firefox版本是什么?你在给定的位置安装了Firefox吗?你能否使用相同的代码在Windows上启动Firefox?顺便说一句,这不是selenium2的问题。 - Petr Janeček
@Slanec 即使我没有为Safari指定任何路径,它也可以正常工作!!但是我不知道Firefox的问题在哪里!!现在我甚至无法使用相同的代码启动Firefox!! - Aspirant
2个回答

1

你可以尝试使用"*firefox /Apps/Firefox/firefox.exe"或任何其他适用于你的计算机的 firefox.exe 文件的绝对路径,而不是"*firefox"


我尝试使用绝对路径,例如:selenium = new DefaultSelenium("localhost", 4444, "/Users/mypc/Desktop/Firefox.app", "http://www.example.com/");我也尝试了其他扩展名,例如firefox.exe,还有没有扩展名的情况,但是仍然出现相同的异常! - Aspirant
即使它能工作,是否有其他方法可以避免硬编码,因为我将在不同的平台上运行应用程序!! - Aspirant
很奇怪。我猜你的火狐浏览器版本确实不受支持。不过,我认为3、3.5和3.6版本应该可以工作。 - Petr Janeček
也许你是对的,我的浏览器版本是Mozilla 11.0!我会尝试使用3.5版本!但是Selenium是否存在与浏览器的兼容性问题呢? - Aspirant
对于新版Firefox(和其他较新的浏览器),您应该使用WebDriver API,也称为Selenium 2。原始的Selenium RC现已正式弃用。新的WebDriver与新浏览器非常兼容,尽管浏览器开发人员和Selenium开发人员之间总是存在竞争关系。 - Petr Janeček

1

我只能在MACOSX上使用selenium来运行firefox 3.X。

尝试下载并安装3.X版本(我成功使用了3.18版本)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接