【问题标题】:How can I set up Eclipse/Selenium to run scripts on other browsers on a Mac?如何设置 Eclipse/Selenium 以在 Mac 上的其他浏览器上运行脚本?
【发布时间】:2012-06-06 20:31:31
【问题描述】:

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

  1. 安装了最新版本的 Eclipse、Selenium 独立服务器和 Selenium IDE
  2. 为 Eclipse 安装了 TestNG 框架
  3. 已安装 Selenium Web 驱动程序和 JAVA 库

到目前为止,我能做的只是运行我在 FF12 上创建的测试脚本。

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

我感觉我错过了很多正确配置 Eclipse 和 Selenium 以在其他浏览器(最好是 IE9 和最新版本的 Chrome)上运行脚本的步骤。如果这还不够糟糕,我使用的是 MacBook Pro(我一生都是 PC 人)。请保持温和,我能得到的任何建议将不胜感激。谢谢

【问题讨论】:

  • 您的路径中有 Firefox 吗?换句话说,如果你打开一个终端并输入firefox,它是在打开浏览器吗?
  • 不,当我在终端输入 firfox 时,它显示“找不到命令”

标签: eclipse selenium webdriver


【解决方案1】:

简答

似乎您的 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 扩展来工作 必要时自动。重要的系统变量是:

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

这里,webdriver.firefox.bin决定了firefox.exe(windows)或firefox(mac)的路径。

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

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

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

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

【讨论】:

  • 一个非常完整且写得很好的答案!
猜你喜欢
  • 1970-01-01
  • 2020-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-10
  • 1970-01-01
  • 1970-01-01
  • 2023-04-01
相关资源
最近更新 更多