6

次のコードを実行しているときに、unsupportedCommandException が継続的に発生します。

System.setProperty("webdriver.firefox.bin","C:\\Program Files\\Mozilla Firefox\\Firefox.exe");
    FirefoxProfile firefoxProfile = new FirefoxProfile();

    String domain = "extensions.firebug.";
    firefoxProfile.setPreference("app.update.enabled", false);
    firefoxProfile.addExtension(new File("D:\\\\firebug-1.11.2-fx.xpi"));
    firefoxProfile.setPreference(domain + "currentVersion", "1.11.2");
    firefoxProfile.setPreference("extensions.firebug.cookies.enableSites", true);
    firefoxProfile.setPreference("extensions.firebug.allPagesActivation", "on");

    firefoxProfile.setPreference(domain + "framePosition", "bottom");
    firefoxProfile.setPreference(domain + "defaultPanelName", "cookies");

    WebDriver driver = new FirefoxDriver(firefoxProfile);
    driver.get("http://www.google.com/webhp?complete=1&hl=en");
    WebElement query = driver.findElement(By.name("q"));

Firefox バージョン: 20.0、firebug 1.11.2。

私が得ているエラーメッセージは以下の通りです:

Exception in thread "main" org.openqa.selenium.UnsupportedCommandException: Bad request

Command duration or timeout: 437 milliseconds
Build info: version: '2.32.0', revision: '6c40c18', time: '2013-04-09 17:23:22'
System info: os.name: 'Windows XP', os.arch: 'x86', os.version: '5.1', java.version: '1.6.0_24'
Driver info: org.openqa.selenium.firefox.FirefoxDriver
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:187)
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:554)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:216)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:111)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:190)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:183)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:179)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:96)
    at com.vinit.tiwari.TestCookieFirefox.main(TestCookieFirefox.java:48)
4

2 に答える 2

12

これは、ホスト構成に関係している可能性があります。

次のような行がある場合:

127.0.0.1 domain1 domain2 domain3 localhost

次のように変更します。

127.0.0.1 localhost domain1 domain2 domain3

于 2013-05-08T15:42:52.693 に答える
1

@APWorsley から受け入れられた回答によると、この問題は、ファイル内のループバック アダプターの複数のエイリアスが原因である可能性があり/etc/hostsます。

エイリアスを削除または並べ替えるための便利なアクセス権がない場合 (root アクセス権がないか、Puppet がファイルを定期的に書き換えている可能性があります)、Selenium の問題 #3280が修正されたため、説明して許可するための config-property アクセスがあります。接続 - hosts ファイル内のさまざまなエイリアス名から。

最初に、ホスト ファイルで loopback/localhost/ の可能なすべてのエイリアスを収集してから127.0.0.1、Firefox ドライバー プロパティを設定します。たとえば、localhostプラスがあった場合localhost.localdomain、次のようにドライバーを構成できます。

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference(FirefoxProfile.ALLOWED_HOSTS_PREFERENCE, "localhost,localhost.localdomain");
WebDriver driver = new FirefoxDriver(profile);
于 2016-02-09T04:33:27.630 に答える