Skip to content

Commit

Permalink
Key press action messages more user friendly.
Browse files Browse the repository at this point in the history
  • Loading branch information
vertigo17 committed Apr 3, 2024
1 parent 0d02b81 commit 94bd826
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -193,8 +193,9 @@ public enum MessageEventEnum {
ACTION_SUCCESS_WAIT_TIME_WITHWARNINGS(200, "OK", "Waited %TIME% ms with warning : %MESSAGE%", false, false, false, MessageGeneralEnum.EXECUTION_PE_TESTSTARTED),
ACTION_SUCCESS_WAIT_ELEMENT(200, "OK", "Waited for %ELEMENT%.", false, false, false, MessageGeneralEnum.EXECUTION_PE_TESTSTARTED),
ACTION_SUCCESS_WAITVANISH_ELEMENT(200, "OK", "Waited for %ELEMENT% to disappear.", false, false, false, MessageGeneralEnum.EXECUTION_PE_TESTSTARTED),
ACTION_SUCCESS_KEYPRESS(200, "OK", "Keypress '%DATA%' done with modifier '%MODIFIER%' on element '%ELEMENT%'.", false, false, false, MessageGeneralEnum.EXECUTION_PE_TESTSTARTED),
ACTION_SUCCESS_KEYPRESS_NO_ELEMENT(200, "OK", "Key '%KEY%' pressed with success.", false, false, false, MessageGeneralEnum.EXECUTION_PE_TESTSTARTED),
ACTION_SUCCESS_KEYPRESS(200, "OK", "Key '%KEY%' pressed with success with modifier '%MODIFIER%' on element '%ELEMENT%'.", false, false, false, MessageGeneralEnum.EXECUTION_PE_TESTSTARTED),
ACTION_SUCCESS_KEYPRESS_NO_ELEMENT_NO_MODIFIER(200, "OK", "Key '%KEY%' pressed with success.", false, false, false, MessageGeneralEnum.EXECUTION_PE_TESTSTARTED),
ACTION_SUCCESS_KEYPRESS_NO_MODIFIER(200, "OK", "Key '%KEY%' pressed with success on element '%ELEMENT%'.", false, false, false, MessageGeneralEnum.EXECUTION_PE_TESTSTARTED),
ACTION_SUCCESS_OPENURL(200, "OK", "Opened URL '%URL%'.", false, false, false, MessageGeneralEnum.EXECUTION_PE_TESTSTARTED),
ACTION_SUCCESS_SELECT(200, "OK", "Element '%ELEMENT%' selected with '%DATA%'.", false, false, false, MessageGeneralEnum.EXECUTION_PE_TESTSTARTED),
ACTION_SUCCESS_CALCULATEPROPERTY(200, "OK", "Property '%PROP%' has been calculated with value '%VALUE%'.", false, false, false, MessageGeneralEnum.EXECUTION_PE_TESTSTARTED),
Expand Down Expand Up @@ -264,7 +265,8 @@ public enum MessageEventEnum {
ACTION_FAILED_KEYPRESS_MISSINGKEY(264, "FA", "KeyValue in value 2 is mandatory in order to perform the action.", true, true, true, MessageGeneralEnum.EXECUTION_FA_ACTION),
ACTION_FAILED_KEYPRESS_ENV_ERROR(264, "FA", "Environment configurations don't allow you to perform the KeyPress operation.", true, true, true, MessageGeneralEnum.EXECUTION_FA_ACTION),
ACTION_FAILED_KEYPRESS_NOT_AVAILABLE(264, "FA", "KeyPress failed! %KEY% is not available.", true, true, true, MessageGeneralEnum.EXECUTION_FA_ACTION),
ACTION_FAILED_KEYPRESS_OTHER(264, "FA", "Keypress '%DATA%' with modifier '%MODIFIER%' on element '%ELEMENT%' failed due to '%REASON%'.", true, true, true, MessageGeneralEnum.EXECUTION_FA_ACTION),
ACTION_FAILED_KEYPRESS_OTHER(264, "FA", "Keypress '%KEY%' with modifier '%MODIFIER%' on element '%ELEMENT%' failed due to '%REASON%'.", true, true, true, MessageGeneralEnum.EXECUTION_FA_ACTION),
ACTION_FAILED_KEYPRESS_OTHER_NOELEMENT_NOMODIFIER(264, "FA", "Keypress '%KEY%' failed due to '%REASON%'.", true, true, true, MessageGeneralEnum.EXECUTION_FA_ACTION),
ACTION_FAILED_OPENURL(265, "FA", "Failed to open '%URL%'.", true, true, true, MessageGeneralEnum.EXECUTION_FA_ACTION),
ACTION_FAILED_OPENURL_TIMEOUT(265, "FA", "Failed to open '%URL%'. Timeout of %TIMEOUT% milliseconds exceeded.", true, true, true, MessageGeneralEnum.EXECUTION_FA_ACTION),
ACTION_FAILED_CLEANROBOTFILE(265, "FA", "Failed to clean robot file. Please check that action is set correctly.", true, true, true, MessageGeneralEnum.EXECUTION_FA_ACTION),
Expand Down Expand Up @@ -411,7 +413,7 @@ public enum MessageEventEnum {
CONTROL_FAILED_FATAL(352, "KO", "Fatal Control Failed", true, true, false, MessageGeneralEnum.EXECUTION_KO),
CONTROL_FAILED_NO_SUCH_ELEMENT(353, "FA", "Element '%ELEMENT%' doesn't exist. Selenium Exception : %SELEX%.", true, true, true, MessageGeneralEnum.EXECUTION_KO),
CONTROL_FAILED_SELENIUM_CONNECTIVITY(354, "CA", "The test case is cancelled due to lost connection to Selenium Server! Detailed error : %ERROR%", true, true, true, MessageGeneralEnum.EXECUTION_FA_CONNECTIVITY),
CONTROL_FAILED_VALUES_NOTNUMERIC(355, "KO", "'%STRINGVALUE%' is not numeric, can not compare non numeric values!", true, false, false, MessageGeneralEnum.EXECUTION_KO),
CONTROL_FAILED_VALUES_NOTNUMERIC(355, "KO", "'%STRINGVALUE%' (transformed to %NEWSTRING%) is not numeric, can not compare non numeric values!", true, false, false, MessageGeneralEnum.EXECUTION_KO),
CONTROL_FAILED_URL_NOT_MATCH_APPLICATION(356, "FA", "Cannot find application host '%HOST%' inside current URL '%CURRENTURL%'. Maybe this is due to a redirection done on the web site. That can be corrected by modifying the application URL.", true, true, false, MessageGeneralEnum.EXECUTION_KO),
CONTROL_FAILED_EQUAL(357, "KO", "'%STRING1%' is not equal to '%STRING2%'.", true, true, false, MessageGeneralEnum.EXECUTION_KO),
CONTROL_FAILED_STRINGEQUAL(357, "KO", "'%STRING1%' is not equal to '%STRING2%' %STRING3%.", true, true, false, MessageGeneralEnum.EXECUTION_KO),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,14 +84,14 @@ public MessageEvent keyPress(Session session, String keyName) {
// Then press the key
try {
((PressesKey) session.getAppiumDriver()).pressKey(new KeyEvent(AndroidKey.valueOf(keyName)));
return new MessageEvent(MessageEventEnum.ACTION_SUCCESS_KEYPRESS_NO_ELEMENT).resolveDescription("KEY", keyName);
return new MessageEvent(MessageEventEnum.ACTION_SUCCESS_KEYPRESS_NO_ELEMENT_NO_MODIFIER).resolveDescription("KEY", keyName);

} catch (IllegalArgumentException e) {
return new MessageEvent(MessageEventEnum.ACTION_FAILED_KEYPRESS_NOT_AVAILABLE).resolveDescription("KEY", keyName);

} catch (Exception e) {
LOG.warn("Unable to key press due to " + e.getMessage(), e);
return new MessageEvent(MessageEventEnum.ACTION_FAILED_KEYPRESS_OTHER)
return new MessageEvent(MessageEventEnum.ACTION_FAILED_KEYPRESS_OTHER_NOELEMENT_NOMODIFIER)
.resolveDescription("KEY", keyName)
.resolveDescription("REASON", e.getMessage());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,10 +94,10 @@ public MessageEvent keyPress(Session session, String keyName) {
// Then do the key press
try {
session.getAppiumDriver().getKeyboard().pressKey(keyToPress.getCode());
return new MessageEvent(MessageEventEnum.ACTION_SUCCESS_KEYPRESS_NO_ELEMENT).resolveDescription("KEY", keyName);
return new MessageEvent(MessageEventEnum.ACTION_SUCCESS_KEYPRESS_NO_ELEMENT_NO_MODIFIER).resolveDescription("KEY", keyName);
} catch (Exception e) {
LOG.warn("Unable to key press due to " + e.getMessage());
return new MessageEvent(MessageEventEnum.ACTION_FAILED_KEYPRESS_OTHER)
return new MessageEvent(MessageEventEnum.ACTION_FAILED_KEYPRESS_OTHER_NOELEMENT_NOMODIFIER)
.resolveDescription("KEY", keyName)
.resolveDescription("REASON", e.getMessage());
}
Expand All @@ -116,7 +116,7 @@ public MessageEvent keyPress(Session session, String keyName) {
@Override
public MessageEvent hideKeyboard(Session session) {
MessageEvent keyPressResult = keyPress(session, KeyCode.RETURN.name());
return new MessageEvent(MessageEventEnum.ACTION_SUCCESS_KEYPRESS_NO_ELEMENT.equals(keyPressResult.getSource())
return new MessageEvent(MessageEventEnum.ACTION_SUCCESS_KEYPRESS_NO_ELEMENT_NO_MODIFIER.equals(keyPressResult.getSource())
? MessageEventEnum.ACTION_SUCCESS_HIDEKEYBOARD
: MessageEventEnum.ACTION_FAILED_HIDEKEYBOARD);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -722,14 +722,14 @@ public MessageEvent doSikuliActionKeyPress(Session session, String locator, Stri
if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_SUCCESS).getCodeString())) {
MessageEvent message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_KEYPRESS)
.resolveDescription("ELEMENT", locator)
.resolveDescription("DATA", textToKey)
.resolveDescription("KEY", textToKey)
.resolveDescription("MODIFIER", modifier);
return message;
}
if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_FAILED).getCodeString())) {
MessageEvent mes = new MessageEvent(MessageEventEnum.ACTION_FAILED_KEYPRESS_OTHER)
.resolveDescription("ELEMENT", locator)
.resolveDescription("DATA", textToKey)
.resolveDescription("KEY", textToKey)
.resolveDescription("MODIFIER", modifier)
.resolveDescription("REASON", actionResult.getMessageDescription());
return mes;
Expand Down Expand Up @@ -807,7 +807,7 @@ public MessageEvent doSikuliEndExecution(Session session) {
AnswerItem<JSONObject> actionResult = doSikuliAction(session, SikuliService.SIKULI_ENDEXECUTION, null, null, "", "");

if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_SUCCESS).getCodeString())) {
MessageEvent message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_KEYPRESS);
MessageEvent message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_ENDEXECUTION);
return message;
}
if (actionResult.getResultMessage().getCodeString().equals(new MessageEvent(MessageEventEnum.ACTION_FAILED).getCodeString())) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1337,9 +1337,9 @@ public MessageEvent doSeleniumActionKeyPress(Session session, Identifier identif
WebElement webElement = (WebElement) answer.getItem();
if (webElement != null) {
webElement.sendKeys(Keys.valueOf(keyToPress));
message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_KEYPRESS);
message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_KEYPRESS_NO_MODIFIER);
message.setDescription(message.getDescription().replace("%ELEMENT%", identifier.getIdentifier() + "=" + identifier.getLocator()));
message.setDescription(message.getDescription().replace("%DATA%", keyToPress));
message.setDescription(message.getDescription().replace("%KEY%", keyToPress));
return message;
}

Expand Down Expand Up @@ -1374,10 +1374,10 @@ public MessageEvent doSeleniumActionKeyPress(Session session, Identifier identif
Duration mydur = Duration.ofMillis(TIMEOUT_WEBELEMENT);
wait.withTimeout(mydur);

message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_KEYPRESS_NO_ELEMENT);
message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_KEYPRESS_NO_ELEMENT_NO_MODIFIER).resolveDescription("%KEY%", keyToPress);
} else {
//the key enterer is not valid
message = new MessageEvent(MessageEventEnum.ACTION_FAILED_KEYPRESS_NOT_AVAILABLE);
message = new MessageEvent(MessageEventEnum.ACTION_FAILED_KEYPRESS_NOT_AVAILABLE).resolveDescription("%KEY%", keyToPress);
LOG.debug("Key " + keyToPress + " is not available in the current context");
}

Expand Down

0 comments on commit 94bd826

Please sign in to comment.