2222import static org .openqa .selenium .remote .CapabilityType .LOGGING_PREFS ;
2323import static org .openqa .selenium .remote .CapabilityType .PLATFORM ;
2424import static org .openqa .selenium .remote .CapabilityType .SUPPORTS_JAVASCRIPT ;
25+ import static org .openqa .selenium .remote .CapabilityType .UNEXPECTED_ALERT_BEHAVIOUR ;
26+ import static org .openqa .selenium .remote .CapabilityType .UNHANDLED_PROMPT_BEHAVIOUR ;
2527import static org .openqa .selenium .remote .CapabilityType .VERSION ;
2628
2729import org .openqa .selenium .Capabilities ;
@@ -51,6 +53,9 @@ public DesiredCapabilities() {
5153
5254 public DesiredCapabilities (Map <String , ?> rawMap ) {
5355 capabilities .putAll (rawMap );
56+ if (rawMap .containsKey (UNEXPECTED_ALERT_BEHAVIOUR )) {
57+ capabilities .put (UNHANDLED_PROMPT_BEHAVIOUR , rawMap .get (UNEXPECTED_ALERT_BEHAVIOUR ));
58+ }
5459
5560 if (rawMap .containsKey (LOGGING_PREFS ) && rawMap .get (LOGGING_PREFS ) instanceof Map ) {
5661 LoggingPreferences prefs = new LoggingPreferences ();
@@ -135,6 +140,9 @@ public DesiredCapabilities merge(Capabilities extraCapabilities) {
135140 if (extraCapabilities != null ) {
136141 capabilities .putAll (extraCapabilities .asMap ());
137142 }
143+ if (extraCapabilities .getCapability (UNEXPECTED_ALERT_BEHAVIOUR ) != null ) {
144+ capabilities .put (UNHANDLED_PROMPT_BEHAVIOUR , extraCapabilities .getCapability (UNEXPECTED_ALERT_BEHAVIOUR ));
145+ }
138146 return this ;
139147 }
140148
@@ -150,6 +158,9 @@ public void setCapability(String capabilityName, String value) {
150158 capabilities .put (capabilityName , value );
151159 }
152160 } else {
161+ if (UNEXPECTED_ALERT_BEHAVIOUR .equals (capabilityName )) {
162+ capabilities .put (UNHANDLED_PROMPT_BEHAVIOUR , value );
163+ }
153164 capabilities .put (capabilityName , value );
154165 }
155166 }
0 commit comments