0

Seleniumフレームワークを最新バージョンにアップグレードしました。alwaysMatchの無効な機能:unhandledPromptBehaviorは文字列ではなくブール型です

org.openqa.selenium.InvalidArgumentException: 
Invalid capabilities in alwaysMatch: unhandledPromptBehavior is type boolean instead of string 

詳細:

セレン:3.7.1 IE:3.7.0(32ビットドライバ)コードの実行中に、私は次の例外

例外を受け取ります java.version: '1.8.0_144'

オートメーションコードは、私の古いIEドライバ(32ビット) - 3.4.0で動作します。

エラーを解決するには、ご意見をお聞かせください。

capabilities.setCapability("UNHANDLED_PROMPT_BEHAVIOUR" ,false); 
        capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); 
        capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); 
        capabilities.setCapability(CapabilityType.SUPPORTS_ALERTS, true); 
        capabilities.setCapability(InternetExplorerDriver.UNEXPECTED_ALERT_BEHAVIOR, true); 
        capabilities.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true); 
        capabilities.setCapability(InternetExplorerDriver.ENABLE_ELEMENT_CACHE_CLEANUP, true); 
        capabilities.setCapability("nativeEvents", false); 
        capabilities.setCapability("requireWindowFocus", false); 
        capabilities.setJavascriptEnabled(true); 
        capabilities.setCapability("ignoreProtectedModeSettings", true); 
        System.setProperty("webdriver.ie.driver", ieExe.getAbsolutePath()); 
        opt = new InternetExplorerOptions(); 
        opt.merge(capabilities); 
        driver = new InternetExplorerDriver(opt); 
        driver.manage().deleteAllCookies(); 
driver.manage().window().maximize(); 
+0

あなたは 'unhandledPromptBehavior'に関連するコードブロックを共有できますか? – DebanjanB

+0

参照のためのコードが追加されました – Priya

+0

あなたのコードに 'unhandledPromptBehavior'属性がありません。何か不足していますか? – DebanjanB

答えて

0

エラーInvalidArgumentException: Invalid capabilities in alwaysMatch: unhandledPromptBehavior is type boolean instead of string Detailsは、主な問題について話しています。

あなたがIE Driverを述べたように私は問題がInternet ExplorerIEDriverServer.exeであると思います。問題は、次のコードブロックごとにsetCapability("UNHANDLED_PROMPT_BEHAVIOUR", "accept")を使用してくる以上に:

System.setProperty("webdriver.ie.driver", "C:\\Utility\\BrowserDrivers\\IEDriverServer.exe"); 
DesiredCapabilities capabilities = new DesiredCapabilities(); 
capabilities.setCapability("UNHANDLED_PROMPT_BEHAVIOUR", "accept"); 
InternetExplorerOptions opt = new InternetExplorerOptions(); 
opt.merge(capabilities); 
WebDriver driver = new InternetExplorerDriver(opt); 
+0

同じことを試しましたが、それでも同じエラーが表示されました。 – Priya

+0

"UNHANDLED_PROMPT_BEHAVIOUR"に変更してみてください、false " – DebanjanB

+0

同じエラーが発生しています:[ERROR] 2017-11-22 11:36:41.384 [main]詳細ログ - エラー:>>>>>クラスキーワード|メソッドsetupBrowser |例外desc:alwaysMatchの無効な機能:unhandledPromptBehaviorは文字列ではなくブール型です ビルド情報:バージョン: '3.7.0'、リビジョン: '2321c73'、時刻: '2017-11-02T22:22:35.584Z' システム情報:ホスト: 'EQ-EQ6338424'、IP:'10 .238.214.158 '、os.name:' Windows 7 '、os.arch:' amd64 '、os.version:' 6.1 '、java.version:' 1.8.0_144 ' ドライバ情報:driver.version:InternetExplorerDriver – Priya

0

私は問題を解決することができた変更 以下「capabilities.setCapability(InternetExplorerDriver.UNEXPECTED_ALERT_BEHAVIOR、UnexpectedAlertBehaviour.IGNORE);」要するに

1

  • 有効な機能名は次のとおりです。"unhandledPromptBehavior"用と"unexpectedAlertBehavior"ため"unhandledPromptBehavior"
  • 有効な値は以下のとおりです。"accept""dismiss""accept and notify""dismiss and notify""ignore"。しかし、W3Cはonly 1st and 2ndをサポートしています。詳細に

UNHANDLED_PROMPT_BEHAVIOURはCapabilityType界面から一定の名前です。しかし、文字列として使用します。だから、これらの機能のいずれかcapabilities.setCapability("unhandledPromptBehavior", ...)またはcapabilities.setCapability(CapabilityType.UNHANDLED_PROMPT_BEHAVIOUR, ...)

値は、列挙型org.openqa.selenium.UnexpectedAlertBehaviourにencaunteredされていますunhandledPromptBehaviorはwebdriver3でunexpectedAlertBehaviourのための新しい更新された名前があるので、それがあります。実際に予期しないAlertBehaviourウェブドライバ(v3.8)を自動的にset both valuesに設定すると、

だからあなたのエラーの根本的な原因は、ラインです: capabilities.setCapability(InternetExplorerDriver.UNEXPECTED_ALERT_BEHAVIOR, true)

あなたが有効な値にtrueを交換する必要があります(上記参照)。この行は実際には両方の機能:unhandledPromptBehaviorunexpectedAlertBehaviourを設定しました。あなたの最初の行( "UNHANDLED_PROMPT_BEHAVIOR")はドライバによって無視されました。

関連する問題