2017-08-22 10 views
0

私はSelenium WebDriverでJavaを使用しています。Selenium WebDriverはSystem.setProperty(ドライバへのパス)なしで動作することができますか?

System.setProperty("webdriver.gecko.driver", dirPath + "\\src\\test\\resources\\geckodriver.exe"); 

これをインポートライブラリからmavenにスワップしますか?私はmvnrepositoryこのライブラリ

<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-firefox-driver</artifactId> 
    <version>3.5.1</version> 
</dependency> 

に見て、それがするSystem.setPropertyを削除して、この依存関係を追加することは可能でしょうか?

+0

https://stackoverflow.com/questions/35285698/why-do-we-need-to-set-the-system-property-for-chrome-and-ie-browserをご覧ください。 -and-not-for – Nerzid

答えて

1

この部分はhttps://github.com/bonigarcia/webdrivermanagerで確認できます。たとえば:

WebDriverManager.getInstance(ChromeDriver.class).setup(); 

それは、最新のchromedriver.m2にフォルダをダウンロードして、自動的に必要なシステムプロパティを設定します。

+0

私が覚えている限り、これはもはやサポートされていません。 Seleniumはドライバパスを設定するよう強制します。 – Nerzid

+0

@Nerzid「サポートされていません」とはどういう意味ですか? 'WebDriverManager'は暗黙のうちに同じことを行います。 Chromeプロパティ:https://github.com/bonigarcia/webdrivermanager/blob/master/src/main/resources/webdrivermanager.properties#L10値の取得:https://github.com/bonigarcia/webdrivermanager/blob/a697a9982c1157d76fe9c89db8e6912e4c3cbe9c/src /main/java/io/github/bonigarcia/wdm/ChromeDriverManager.java#L52プロパティセッター:https://github.com/bonigarcia/webdrivermanager/blob/a697a9982c1157d76fe9c89db8e6912e4c3cbe9c/src/main/java/io/github/bonigarcia/wdm /BrowserManager.java#L733 –

+0

これは正常に動作しています。私はOperaOptionsを設定する必要がある理由をもう1つ質問しますop = new OperaOptions(); \t \t \t op.setBinary(新しいファイル( "C:¥¥Program Files¥¥Opera¥¥47.0.2631.55¥¥opera.exe"));それなしではオペラは動作しませんか? –

関連する問題