web-dev-qa-db-ja.com

Mac OSX-IllegalStateException:ドライバーは実行可能ではありません:

MacOSXは初めてです。 Robotframework(Selenium&Java)プロジェクトをgitからダウンロードし、コードをローカルで実行しようとしましたが、以下のエラーが発生しました。

スイートのセットアップに失敗しました:IllegalStateException:ドライバーは実行可能ではありません:/ Users/roja/Documents/GitHub/testautomation/chromedrivers/chromedriver_osx

この問題を修正するために、以下に従いましたが、機能しませんでした。

  1. Selenium-Javaおよびスタンドアロンバージョンを2.53.1から3.4.0にアップグレードしました。
  2. Users/roja/automationに指定されたドライバーパス
  3. Chromedriverが2.31から2.33にアップグレードされました
  4. また、上記の例外で指定されたパスでも同じドライバーバージョンが更新されました。

また、パスがデフォルトで/Users/roja/Documents/GitHub/testautomation/chromedrivers/chromedriver_osxに設定されている理由もわかりません。

私のgitプロジェクトはパスusr/local/git/testautomationに保存され、chromedriverも同じパスに保存されます。明確にして解決策を教えてください。

ブラウザを起動するために書かれた以下のコードは、

public void LaunchBrowser() throws InterruptedException {
System.setProperty("Webdriver.chrome.driver", "/Users/roja/Automation/chromedriver_osx");
driver = new ChromeDriver();
driver.manage().window().maximize();
}
6
Roja

エラー_IllegalStateException: The driver is not executable: /Users/roja/Documents/GitHub/testautomation/chromedrivers/chromedriver_osx_はそれをすべて言います。次のように正確に4つの変更を行う必要があります。

  • _Webdriver.chrome.driver_を次のように変更します:

    _webdriver.chrome.driver
    _
  • _/Users/roja/Automation/chromedriver_osx_の名前を含める必要があるため、_webdriver binary_を変更します。つまりchromedriver as value

    _/Users/roja/Automation/chromedriver_osx/chromedriver
    _
  • driver = new ChromeDriver();を次のように変更します:

    _WebDriver driver = new ChromeDriver();
    _
  • 不要な_throws InterruptedException_を削除して、コードを短くシンプルに保ちます。

6
DebanjanB

参考までに、varunrao321によって提案された解決策を実行する必要がありました。chromedriverを含むフォルダーに移動し、chmod +x chromedriverを実行します。

2
Jorge

私のために働いた別の解決策。 chromedriverを含むフォルダーに移動し、「chmod + xchromedriver」を実行します

1
varunrao321

Chromedriverに完全な許可を与えてみましたが、正常に動作します。

chmod +x chromedriver

または

chmod 777 chromedriver
1
anandxp

Brewによってchromedriverをインストールできます

brew cask install chromedriver

その後、DebanjanBが言ったように、

System.setProperty( "Webdriver.chrome.driver"、 "/ Users/roja/Automation/chromedriver_osx");

System.setProperty("webdriver.chrome.driver", "/usr/local/bin/chromedriver");

わたしにはできる。

0
E Kwong

この問題を解決する方法は、Chromedriverをフォルダーにドラッグする代わりに、右クリック> [インポート]でインポートすることでした。

正確な理由はわかりませんが、うまくいきました。

0
NilVS

アクセス許可が原因である可能性があります。 http://chromedriver.chromium.org/downloads を使用してchromeドライバーをダウンロードし、パスを指定します。

例:

System.setProperty("webdriver.chrome.driver","/Users/xyz/Downloads/chromedriver");       
0
Anansha

@debanjanはすでにあなたに良い説明を説明しています、私はあなたに正しいコードを与えています:

public void LaunchBrowser() throws InterruptedException {
System.setProperty("webdriver.chrome.driver", "/Users/roja/Automation/chromedriver_osx/chromedriver");
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
}
0
iamsankalp89

私にとって、それは私のmacOSmojaveにインストールされたchromeバージョンで動作しなかった最後のドライバーでした。私はグーグルクロームの最後のバージョンをインストールすることを余儀なくされました、そしてそれは動作しました。

0