0

Selenium 프레임 워크를 최신 버전으로 업그레이드했습니다.alwaysMatch의 잘못된 기능 : unhandledPromptBehavior는 문자열 대신 boolean 유형입니다.

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 "로 변경해보십시오, 거짓" – DebanjanB

+0

여전히 같은 오류가 발생합니다 : [ERROR] 2017-11-22 11 : 36 : 41.384 [main] DetailedLogs - 오류 : >>>>> 클래스 키워드 | 메소드 setupBrowser | 예외 설명 : alwaysMatch의 잘못된 기능 : unhandledPromptBehavior가 문자열 대신 boolean 유형입니다. 빌드 정보 : 버전 : '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'포함)