2016-12-01 9 views
0

私の問題は、Runnable Jar Fileを使って自分のプロジェクト(Eclipse Java)をエクスポートしたのですが、私のコンピュータではOKですが、他のコンピュータではRunnableは動作しません。getResourceを使用してchromedriver.exe(FireFox/IE)を開くことはできますか? * Selenium-Java

アイデアは、(getResource res> imagesのような)eclipseフォルダにchromedriver.exeを置いた後、誰もがプログラム全体を取得します。

どうすればいいですか?それは私のコードですが、chromedriversは私のCに静的である:\:

public static void main(String[] args) throws IOException { 
    // TODO Auto-generated method stub 

    System.setProperty("webdriver.chrome.driver","C:\\SeleniumAssets\\chromedriver_win32\\chromedriver.exe"); 
    DesiredCapabilities capabilities=DesiredCapabilities.chrome(); 
    capabilities.setCapability("marionette", true); 
    driver = new ChromeDriver(); 
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 

    driver.get(Constant.URL); 


    //signIn.ExecuteGerenteOperacional(driver,Constant.Username_GO,Constant.Password_GO); 
    //signIn.ExecuteGerenteLoja(driver,Constant.Username_Gerente_Loja,Constant.Password_Gerente_Loja); 
    //signIn.ExecuteVendedor(driver,Constant.Username_Vendedor,Constant.Password_Vendedor); 
    ActionsDO(); 

} 

感謝:)

編集:

ClassLoader loader = ClassLoader.getSystemClassLoader(); 
    URL path = loader.getResource("\\res\\drivers\\chromedriver.exe"); 
    System.setProperty("webdriver.chrome.driver", path.getPath()); 

があまりにも動作しません。

1)すなわち\内のドライバを置き:あなたは独立したOSを動作するシステムプロパティを使用するオプションになります(ユーザのホーム>ドライバのように)「標準」ディレクトリにドライバを配置することができる場合

+0

特性およびドライバが置かれなければならない定義されたフォルダで動作することが可能であろうか? – swinkler

+0

はい、それはアイデアですが、私はこのSystem.setProperty( "webdriver.chrome.driver"、 "/ res/drivers/chromedriver.exe")のようなものをいくつかします。 Eclipse show "ドライバの実行ファイルは存在しませんC:¥res¥drivers¥chromedriver.exe" –

答えて

0

あなたのコードの使用では、ドライバの\ chromedriver.exe

2):

String userHome = System.getProperty("user.home"); 
String pathToDriver = userHome + File.separator + "driver" + File.separator + "chromedriver.exe"; 
System.setProperty("webdriver.chrome.driver", pathToDriver); 

HTH

+0

CurrentUsersHomeDirとは何ですか?それは定数ですか? –

+0

が修正されました。変数名が間違っています。 – swinkler

0

あなたはのsetBinaryを使用する必要があります10追加chromedriverの相対パスで、コードがhereからのものである:

ChromeOptions options = new ChromeOptions(); 
options.setBinary(new File("/path/to/chrome")); 
ChromeDriver driver = new ChromeDriver(options); 
+0

私はこれを試しましたが、 "webdriver.chrome.driver"ですか? –

+0

すみません、あなたの質問は何ですか? – monami

関連する問題