0

RemoteWebDriver は、DesiredCapabilties オブジェクトを介して「firefox」などの browsername を介してインスタンス化できます。

しかし、ブラウザ名で「FireFoxDriver」のようなローカルドライバーを取得するにはどうすればよいですか?

私の使用例は次のとおりです。テストするブラウザーは、外部テキスト ファイルのプロパティを介して指定されます。別のプロパティを使用すると、グリッドの URL が設定されます。グリッド URL が「ローカル」に設定されている場合、テキスト ファイルに設定されたブラウザでローカルにテストを実行します。

(どのように)これは可能ですか?

4

2 に答える 2

1

もちろん。これの途中で何か?

public static void main(String[] args) {
    WebDriver driver = openBrowser(args[0]);
    // now work with driver as usual
}

public static WebDriver openBrowser(String browserName) {
    if ((browserName == null) || (browserName.trim().isEmpty())) {
        throw new IllegalArgumentException("No browser name found.");
    }

    // works with Java 7, on Java < 7, you have to write an if-else block instead
    switch (browserName.toLowerCase()) {
        case "ff": // fall through
        case "firefox":
            return new FirefoxDriver();
        case "ie": // fall through
        case "iexplore": // fall through
        case "internet explorer":
            return new InternetExplorerDriver();
        default:
            throw new IllegalArgumentException("No valid browser name found.");
    }
}
于 2012-07-20T14:05:33.517 に答える
1

ハックを提案できます。ローカル マシンで selenium-server を起動すると、ホスト URL として remotewebdriver を使用できますhttp://localhost:4444/wd/hub

このようにして、同じリモート ドライバーと外部テキスト ファイルを使用して、ローカル マシンでテストを制御できます。

于 2012-07-23T13:36:31.847 に答える