MacOSXは初めてです。 Robotframework(Selenium&Java)プロジェクトをgitからダウンロードし、コードをローカルで実行しようとしましたが、以下のエラーが発生しました。
スイートのセットアップに失敗しました:IllegalStateException:ドライバーは実行可能ではありません:/ Users/roja/Documents/GitHub/testautomation/chromedrivers/chromedriver_osx
この問題を修正するために、以下に従いましたが、機能しませんでした。
- Selenium-Javaおよびスタンドアロンバージョンを2.53.1から3.4.0にアップグレードしました。
- Users/roja/automationに指定されたドライバーパス
- Chromedriverが2.31から2.33にアップグレードされました
- また、上記の例外で指定されたパスでも同じドライバーバージョンが更新されました。
また、パスがデフォルトで/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();
}
エラー_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
_を削除して、コードを短くシンプルに保ちます。
参考までに、varunrao321によって提案された解決策を実行する必要がありました。chromedriverを含むフォルダーに移動し、chmod +x chromedriver
を実行します。
私のために働いた別の解決策。 chromedriverを含むフォルダーに移動し、「chmod + xchromedriver」を実行します
Chromedriverに完全な許可を与えてみましたが、正常に動作します。
chmod +x chromedriver
または
chmod 777 chromedriver
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");
わたしにはできる。
この問題を解決する方法は、Chromedriverをフォルダーにドラッグする代わりに、右クリック> [インポート]でインポートすることでした。
正確な理由はわかりませんが、うまくいきました。
アクセス許可が原因である可能性があります。 http://chromedriver.chromium.org/downloads を使用してchromeドライバーをダウンロードし、パスを指定します。
例:
System.setProperty("webdriver.chrome.driver","/Users/xyz/Downloads/chromedriver");
@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();
}
私にとって、それは私のmacOSmojaveにインストールされたchromeバージョンで動作しなかった最後のドライバーでした。私はグーグルクロームの最後のバージョンをインストールすることを余儀なくされました、そしてそれは動作しました。