如何设置Eclipse / Selenium以在Mac上的其他浏览器上运行脚本?

时间:2012-06-06 20:31:31

标签: eclipse selenium webdriver

我是Macs的新手,我在尝试在任何浏览器上运行脚本时遇到问题,更不用说IE或Chrome了。以下是我到目前为止所做的事情:

  1. 安装了最新版本的Eclipse,Selenium独立服务器和Selenium IDE
  2. 安装Eclipse的TestNG框架
  3. 安装了Selenium Web驱动程序和JAVA库
  4. 到目前为止,我所能做的只是运行我在FF12上创建的测试脚本。

    我使用Selenium IDE在FF12上创建了一些测试脚本,然后使用TestNG将它们导出到Eclipse,当我尝试运行它们时,我收到此错误消息“请添加包含''firefox-bin'或'firefox'的目录'到你的PATH环境“

    我有一种感觉,我错过了很多步骤来正确配置Eclipse& Selenium在其他浏览器上运行脚本(理想情况下是IE9和最新版本的Chrome)。如果这还不够糟糕,我使用MacBook Pro(我一生都是PC用户)。请保持温和,我能得到的任何建议都将受到高度赞赏。感谢

1 个答案:

答案 0 :(得分:2)

简短回答

看起来像你的firefox可执行文件不在系统路径或默认位置。有多种方法可以解决这个问题

1.在代码

中设置firefox二进制路径

您需要设置webdriver.firefox.bin属性。在java中,您可以使用以下代码执行此操作:

FirefoxProfile profile = new FirefoxProfile();
WebDriver driver = new FirefoxDriver(new FirefoxBinary(new File("path/to/your/firefox.exe")), profile);

2.找到安装firefox的位置并在路径变量中更新该路径

export PATH=/my/firefox/path/bin:$PATH 

3.启动selenium服务器时,请指定webdriver.firefox.bin作为系统属性。

java -jar seleniumserver.jar -D webdriver.firefox.bin = "/path/to/firefox-bin

完成上述任何一项后,您的问题应该得到解决。

答案不是那么简短 - 为什么会失败?

每个FirefoxDriver javadoc -

  

<强> org.openqa.selenium.firefox.FirefoxDriver

     

驱动的{#link WebDriver}界面的实现   Firefox浏览器。这是通过安装的firefox扩展来实现的   必要时自动。重要的系统变量是:

     

webdriver.firefox.bin - 使用哪个firefox二进制文件(通常   PATH上的“firefox”   webdriver.firefox.profile - 的名称   要使用的配置文件(通常为“WebDriver”)。

此处, webdriver.firefox.bin 确定firefox.exe(在windows中)或firefox(在mac中)的路径。

通常,当您在计算机中安装firefox时,firefox文件的路径会添加到路径变量中。这将允许用户从任何地方调用firefox。

Webdriver将在路径变量中查找此firefox可执行文件,然后在默认位置查找。从selenium代码中,此默认路径定义如下:

case MAC:
        if (!binaryName.endsWith(".app"))
          binaryName += ".app";
        binaryName += "/Contents/MacOS/firefox-bin";
        break;

如果你的firefox文件在 / Contents / MacOS / firefox-bin 中不可用,那么webdriver将不知道在哪里找到它。因此失败了。