1

Mac は初めてで、IE や Chrome はもちろん、任意のブラウザーでスクリプトを実行しようとすると問題が発生します。これが私がこれまでに行ったことです:

  1. Eclipse、Selenium スタンドアロン サーバー、および Selenium IDE の最新バージョンがインストールされている
  2. Eclipse 用にインストールされた TestNG フレームワーク
  3. インストールされた Selenium Web ドライバーと JAVA ライブラリー

今のところ、FF12 で作成したテスト スクリプトを実行するだけです。

Selenium IDE を使用して FF12 でいくつかのテスト スクリプトを作成し、TestNG を使用して Eclipse にエクスポートしました。それらを実行しようとすると、次のエラー メッセージが表示されます。 PATH環境」

他のブラウザー (理想的には IE9 と最新バージョンの Chrome) でスクリプトを実行するように Eclipse と Selenium を適切に構成するための多くの手順が欠けているように感じます。それで十分ではない場合、私はMacBook Proを使用しています(私はずっとPC派です)。優しくしてください。私が得ることができるアドバイスは大歓迎です。ありがとう

4

1 に答える 1

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

Firefox を駆動する {#link WebDriver} インターフェイスの実装。これは、必要に応じて自動的にインストールされる 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 はその場所を認識できません。したがって、失敗。

于 2012-06-06T22:11:48.277 に答える