2017-05-02 8 views
2

私はセレン-javaのではなく、数行、私は次のようなエラーになってるのショートプログラムで私の最初のプログラムを書くためにしようとしている:「メイン」スレッドで入手ないIllegalAccessError警告

例外java.lang.IllegalAccessErrorを:org.openqa.selenium.os.ExecutableFinderクラスorg.openqa.selenium.firefox.FirefoxBinaryからアクセスしようとしました at org.openqa.selenium.firefox.FirefoxBinary.locateFirefoxBinariesFromPlatform(FirefoxBinary.java:418) at org.openqa .selenium.firefox.FirefoxBinary(FirefoxBinary.java:108) at java.util.Optional.orElseGet(不明なソース) at org.openqa.selenium.firefox.FirefoxDriver.toExecutor(FirefoxDriver.java:204)(FirefoxDriver.java:108) 、org.openqa.selenium.firefox.FirefoxDriver(FirefoxDriver.java:104) at com.packt.selenium.chapter1.NavigateToAUrl。メイン(NavigateToAUrl.java:12)

私のコードは次のとおりです。

package com.packt.selenium.chapter1; 
import org.openqa.selenium.WebDriver;  
import org.openqa.selenium.firefox.FirefoxDriver; 

public class NavigateToAUrl 
{ 
    public static void main(String[] args) 
    { 
     WebDriver driver = new FirefoxDriver(); 
     driver.get("http://www.google.com"); 

    } 
} 

答えて

0

あなたはhereから最新のgeckodriverのv0.16.1をダウンロードする必要がセレン3.4.0およびMozilla Firefoxブラウザ53.xで作業するには。あなたのマシンに保存& geckodriverの絶対パスを提供します。このコードは、あなた自身のコードに簡単に微調整するだけで正常に動作します。

System.setProperty("webdriver.gecko.driver", "C:\\Utility\\BrowserDrivers\\geckodriver.exe"); 
    WebDriver driver = new FirefoxDriver(); 
    driver.manage().window().maximize(); 
    driver.get("http://www.google.com"); 

これが役立つかどうか教えてください。コードの下

+0

ご返信ありがとうございます。私はセレン3.4を持っています。0&Mozilla Firefox 53.x.私はgeckodriver v0.16.1で試しましたが、それでも同じ問題が発生しています。 – Punk23

+0

@ Punk23更新されたコードとエラースタックトレースで質問を更新できますか? – DebanjanB

0

試してみてください。

package com.packt.selenium.chapter1; 
import java.util.concurrent.TimeUnit; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.firefox.FirefoxDriver; 

public class sample { 
    public static void main(String[] a) { 
     WebDriver driver; 
     System.setProperty("webdriver.firefox.marionette", "C:\\geckodriver.exe"); 
     driver = new FirefoxDriver(); 
     driver.manage().window().maximize(); 
     driver.manage().timeouts().implicitlyWait(160, TimeUnit.SECONDS); 
     driver.get("http://google.com"); 

    } 
} 

ていることを確認します

1)Selenium server standalone jarファイルは、プロジェクト
2に追加されます)Client combined jarファイルはセレンJavaのjarファイルが付属してプロジェクトに追加されますファイルパッケージ。
3)Geckodriver pathが正しく、前述の場所にgeckodriver.exeが存在します。

セレンのメインメソッドアプローチに固執しないでください。セレンと一緒にTestNGを統合し、スクリプトを作成します。 TestNGを使用すると、さらに多くの機能が追加されます。そのお勧め!

1

私の場合は、クラスパス上に異なるバージョンのセレンアーチファクトがあることが原因でした。依存org.grails.plugins:geb:1.1.1

私はgebish使用私はselenium-apiselenium-remote-driverをアップグレードした後 org.seleniumhq.selenium:selenium-firefox-driver:3.4.0

を使用しようとした一方

  • org.seleniumhq.selenium:selenium-api:2.53.1
  • org.seleniumhq.selenium:selenium-remote-driver:2.53.1

およびselenium-supportをバージョン3.4.0に変更しても問題ありませんでした。

関連する問題