Best Cerberus-source code snippet using org.cerberus.engine.gwt.impl.PropertyService.property_getDifferencesFromXml
Source:PropertyService.java
...626 case TestCaseCountryProperties.TYPE_GETFROMXML:627 testCaseExecutionData = this.property_getFromXml(testCaseExecutionData, tCExecution, testCaseCountryProperty, forceRecalculation);628 break;629 case TestCaseCountryProperties.TYPE_GETDIFFERENCESFROMXML:630 testCaseExecutionData = this.property_getDifferencesFromXml(testCaseExecutionData, tCExecution, testCaseCountryProperty, forceRecalculation);631 break;632 case TestCaseCountryProperties.TYPE_GETFROMJSON:633 testCaseExecutionData = this.property_getFromJson(testCaseExecutionData, tCExecution, forceRecalculation);634 break;635 case TestCaseCountryProperties.TYPE_GETFROMGROOVY:636 testCaseExecutionData = this.property_getFromGroovy(testCaseExecutionData, tCExecution, testCaseCountryProperty, forceRecalculation);637 break;638 case TestCaseCountryProperties.TYPE_EXECUTESOAPFROMLIB: // DEPRECATED639 testCaseExecutionData = this.property_executeSoapFromLib(testCaseExecutionData, tCExecution, testCaseStepActionExecution, testCaseCountryProperty, forceRecalculation);640 res = testCaseExecutionData.getPropertyResultMessage();641 res.setDescription(MESSAGE_DEPRECATED + " " + res.getDescription());642 testCaseExecutionData.setPropertyResultMessage(res);643 logEventService.createForPrivateCalls("ENGINE", TestCaseCountryProperties.TYPE_EXECUTESOAPFROMLIB, MESSAGE_DEPRECATED + " Deprecated Property triggered by TestCase : ['" + test + "|" + testCase + "']");644 LOG.warn(MESSAGE_DEPRECATED + " Deprecated Property " + TestCaseCountryProperties.TYPE_EXECUTESOAPFROMLIB + " triggered by TestCase : ['" + test + "'|'" + testCase + "']");645 break;646 case TestCaseCountryProperties.TYPE_EXECUTESQLFROMLIB: // DEPRECATED647 testCaseExecutionData = this.property_executeSqlFromLib(testCaseExecutionData, testCaseCountryProperty, tCExecution, forceRecalculation);648 res = testCaseExecutionData.getPropertyResultMessage();649 res.setDescription(MESSAGE_DEPRECATED + " " + res.getDescription());650 testCaseExecutionData.setPropertyResultMessage(res);651 logEventService.createForPrivateCalls("ENGINE", TestCaseCountryProperties.TYPE_EXECUTESQLFROMLIB, MESSAGE_DEPRECATED + " Deprecated Property triggered by TestCase : ['" + test + "|" + testCase + "']");652 LOG.warn(MESSAGE_DEPRECATED + " Deprecated Property " + TestCaseCountryProperties.TYPE_EXECUTESQLFROMLIB + " triggered by TestCase : ['" + test + "'|'" + testCase + "']");653 break;654 default:655 res = new MessageEvent(MessageEventEnum.PROPERTY_FAILED_UNKNOWNPROPERTY);656 res.setDescription(res.getDescription().replace("%PROPERTY%", testCaseCountryProperty.getType()));657 testCaseExecutionData.setPropertyResultMessage(res);658 }659 execution_count++;660 }661 if (execution_count >= 2) { // If there were at least 1 retry, we notify it in the result message.662 res = testCaseExecutionData.getPropertyResultMessage();663 res.setDescription("Retried " + (execution_count - 1) + " time(s) with " + periodms + "ms period - " + res.getDescription());664 testCaseExecutionData.setPropertyResultMessage(res);665 }666 if (forced_retry) { // If the retry and period parameter was changed, we notify it in the result message.667 res = testCaseExecutionData.getPropertyResultMessage();668 res.setDescription(forced_retry_message + " - " + res.getDescription());669 testCaseExecutionData.setPropertyResultMessage(res);670 }671 } else {672 // cache activated and entry exist. We set the current value with cache entry data and notify the result from the messsage.673 TestCaseExecutionData testCaseExecutionDataFromCache = (TestCaseExecutionData) answerData.getItem();674 testCaseExecutionData.setFromCache("Y");675 testCaseExecutionData.setDataLib(testCaseExecutionDataFromCache.getDataLib());676 testCaseExecutionData.setValue(testCaseExecutionDataFromCache.getValue());677 testCaseExecutionData.setJsonResult(testCaseExecutionDataFromCache.getJsonResult());678 DateFormat df = new SimpleDateFormat(DateUtil.DATE_FORMAT_DISPLAY);679 res = new MessageEvent(MessageEventEnum.PROPERTY_SUCCESS_FROMCACHE).resolveDescription("ID", String.valueOf(testCaseExecutionDataFromCache.getId())).resolveDescription("DATE", df.format(testCaseExecutionDataFromCache.getStart()));680 testCaseExecutionData.setPropertyResultMessage(res);681 if (!StringUtil.isNullOrEmpty(testCaseExecutionDataFromCache.getJsonResult())) {682 // Convert json to HashMap.683 List<HashMap<String, String>> result = null;684 result = new ArrayList();685 try {686 LOG.debug("Converting Json : " + testCaseExecutionDataFromCache.getJsonResult());687 JSONArray json = new JSONArray(testCaseExecutionDataFromCache.getJsonResult());688 for (int i = 0; i < json.length(); i++) {689 JSONObject explrObject = json.getJSONObject(i);690 LOG.debug(explrObject.toString());691 HashMap<String, String> resultHash = new HashMap<String, String>();692 Iterator<String> nameItr = explrObject.keys();693 while (nameItr.hasNext()) {694 String name = nameItr.next();695 if (name.equals("KEY")) {696 resultHash.put("", explrObject.getString(name));697 } else {698 resultHash.put(name, explrObject.getString(name));699 }700 }701 result.add(resultHash);702 }703 } catch (JSONException ex) {704 java.util.logging.Logger.getLogger(PropertyService.class.getName()).log(Level.SEVERE, null, ex);705 LOG.error(ex);706 }707 testCaseExecutionData.setDataLibRawData(result);708 //Record result in filessytem.709 recorderService.recordTestDataLibProperty(tCExecution.getId(), testCaseCountryProperty.getProperty(), 1, result);710 }711 }712 } catch (CerberusEventException ex) {713 LOG.error(ex.toString());714 testCaseExecutionData.setEnd(new Date().getTime());715 testCaseExecutionData.setPropertyResultMessage(ex.getMessageError());716 }717 testCaseExecutionData.setEnd(new Date().getTime());718 if (LOG.isDebugEnabled()) {719 LOG.debug("Finished to calculate Property : '" + testCaseCountryProperty.getProperty() + "'");720 }721 }722 private TestCaseExecutionData property_executeSqlFromLib(TestCaseExecutionData testCaseExecutionData, TestCaseCountryProperties testCaseCountryProperty, TestCaseExecution tCExecution, boolean forceCalculation) {723 try {724 String script = this.sqlLibraryService.findSqlLibraryByKey(testCaseExecutionData.getValue1()).getScript();725 testCaseExecutionData.setValue1(script); //TODO use the new library 726 } catch (CerberusException ex) {727 LOG.warn(ex);728 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_FAILED_SQL_SQLLIB_NOTEXIT);729 res.setDescription(res.getDescription().replace("%SQLLIB%", testCaseExecutionData.getValue1()));730 testCaseExecutionData.setPropertyResultMessage(res);731 testCaseExecutionData.setEnd(732 new Date().getTime());733 return testCaseExecutionData;734 }735 testCaseExecutionData = this.property_getFromSql(testCaseExecutionData, tCExecution, testCaseCountryProperty, forceCalculation);736 return testCaseExecutionData;737 }738 private TestCaseExecutionData property_getFromSql(TestCaseExecutionData testCaseExecutionData, TestCaseExecution tCExecution, TestCaseCountryProperties testCaseCountryProperty, boolean forceCalculation) {739 return sQLService.calculateOnDatabase(testCaseExecutionData, testCaseCountryProperty, tCExecution);740 }741 private TestCaseExecutionData property_calculateText(TestCaseExecutionData testCaseExecutionData, TestCaseCountryProperties testCaseCountryProperty, boolean forceRecalculation) {742 if (TestCaseCountryProperties.NATURE_RANDOM.equals(testCaseCountryProperty.getNature())743 //TODO CTE Voir avec B. Civel "RANDOM_NEW"744 || (testCaseCountryProperty.getNature().equals(TestCaseCountryProperties.NATURE_RANDOMNEW))) {745 if (testCaseCountryProperty.getLength().equals("0")) {746 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_FAILED_TEXTRANDOMLENGHT0);747 testCaseExecutionData.setPropertyResultMessage(res);748 } else {749 String charset;750 if (testCaseExecutionData.getValue1() != null && !"".equals(testCaseExecutionData.getValue1().trim())) {751 charset = testCaseExecutionData.getValue1();752 } else {753 charset = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";754 }755 String value = StringUtil.getRandomString(ParameterParserUtil.parseIntegerParam(testCaseCountryProperty.getLength(), 0), charset);756 testCaseExecutionData.setValue(value);757 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_SUCCESS_RANDOM);758 res.setDescription(res.getDescription().replace("%FORCED%", forceRecalculation == true ? "Re-" : ""));759 res.setDescription(res.getDescription().replace("%VALUE%", ParameterParserUtil.securePassword(value, testCaseCountryProperty.getProperty())));760 testCaseExecutionData.setPropertyResultMessage(res);761// if (testCaseCountryProperty.getNature().equals("RANDOM_NEW")) {762// //TODO check if value exist on DB ( used in another test case of the revision )763// }764 }765 } else {766 LOG.debug("Setting value : " + testCaseExecutionData.getValue1());767 String value = testCaseExecutionData.getValue1();768 testCaseExecutionData.setValue(value);769 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_SUCCESS_TEXT);770 res.setDescription(res.getDescription().replace("%VALUE%", ParameterParserUtil.securePassword(value, testCaseCountryProperty.getProperty())));771 testCaseExecutionData.setPropertyResultMessage(res);772 }773 return testCaseExecutionData;774 }775 private TestCaseExecutionData property_getFromHtmlVisible(TestCaseExecutionData testCaseExecutionData, TestCaseExecution tCExecution, TestCaseCountryProperties testCaseCountryProperty, boolean forceCalculation) {776 try {777 Identifier identifier = identifierService.convertStringToIdentifier(testCaseExecutionData.getValue1());778 String valueFromHTML = this.webdriverService.getValueFromHTMLVisible(tCExecution.getSession(), identifier);779 if (valueFromHTML != null) {780 testCaseExecutionData.setValue(valueFromHTML);781 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_SUCCESS_HTMLVISIBLE);782 res.setDescription(res.getDescription().replace("%ELEMENT%", testCaseExecutionData.getValue1()));783 res.setDescription(res.getDescription().replace("%VALUE%", valueFromHTML));784 testCaseExecutionData.setPropertyResultMessage(res);785 } else {786 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_FAILED_HTMLVISIBLE_ELEMENTDONOTEXIST);787 res.setDescription(res.getDescription().replace("%ELEMENT%", testCaseExecutionData.getValue1()));788 testCaseExecutionData.setPropertyResultMessage(res);789 }790 } catch (NoSuchElementException exception) {791 LOG.debug(exception.toString());792 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_FAILED_HTMLVISIBLE_ELEMENTDONOTEXIST);793 res.setDescription(res.getDescription().replace("%ELEMENT%", testCaseExecutionData.getValue1()));794 testCaseExecutionData.setPropertyResultMessage(res);795 }796 return testCaseExecutionData;797 }798 private TestCaseExecutionData property_getFromHtml(TestCaseExecutionData testCaseExecutionData, TestCaseExecution tCExecution, TestCaseCountryProperties testCaseCountryProperty, boolean forceCalculation) {799 if (tCExecution.getApplicationObj().getType().equals(Application.TYPE_APK)800 || tCExecution.getApplicationObj().getType().equals(Application.TYPE_IPA)801 || tCExecution.getApplicationObj().getType().equals(Application.TYPE_GUI)) {802 try {803 Identifier identifier = identifierService.convertStringToIdentifier(testCaseExecutionData.getValue1());804 String valueFromHTML = this.webdriverService.getValueFromHTML(tCExecution.getSession(), identifier);805 if (valueFromHTML != null) {806 testCaseExecutionData.setValue(valueFromHTML);807 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_SUCCESS_HTML);808 res.setDescription(res.getDescription().replace("%ELEMENT%", testCaseExecutionData.getValue1()));809 res.setDescription(res.getDescription().replace("%VALUE%", valueFromHTML));810 testCaseExecutionData.setPropertyResultMessage(res);811 }812 } catch (NoSuchElementException exception) {813 LOG.debug(exception.toString());814 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_FAILED_HTML_ELEMENTDONOTEXIST);815 res.setDescription(res.getDescription().replace("%ELEMENT%", testCaseExecutionData.getValue1()));816 testCaseExecutionData.setPropertyResultMessage(res);817 }818 } else {819 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_FAILED_FEATURENOTSUPPORTED);820 res.setDescription(res.getDescription().replace("%APPTYPE%", tCExecution.getApplicationObj().getType()));821 res.setDescription(res.getDescription().replace("%PROPTYPE%", testCaseExecutionData.getType()));822 }823 return testCaseExecutionData;824 }825 private TestCaseExecutionData property_getFromJS(TestCaseExecutionData testCaseExecutionData, TestCaseExecution tCExecution, TestCaseCountryProperties testCaseCountryProperty, boolean forceCalculation) {826 String script = testCaseExecutionData.getValue1();827 String valueFromJS;828 String message = "";829 try {830 valueFromJS = this.webdriverService.getValueFromJS(tCExecution.getSession(), script);831 } catch (Exception e) {832 message = e.getMessage().split("\n")[0];833 LOG.debug("Exception Running JS Script :" + message);834 valueFromJS = null;835 }836 if (valueFromJS != null) {837 testCaseExecutionData.setValue(valueFromJS);838 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_SUCCESS_JS);839 res.setDescription(res.getDescription().replace("%SCRIPT%", script));840 res.setDescription(res.getDescription().replace("%VALUE%", valueFromJS));841 testCaseExecutionData.setPropertyResultMessage(res);842 } else {843 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_FAILED_JS_EXCEPTION);844 res.setDescription(res.getDescription().replace("%EXCEPTION%", message));845 testCaseExecutionData.setPropertyResultMessage(res);846 }847 return testCaseExecutionData;848 }849 private TestCaseExecutionData property_getFromGroovy(TestCaseExecutionData testCaseExecutionData, TestCaseExecution tCExecution, TestCaseCountryProperties testCaseCountryProperty, boolean forceCalculation) {850 // Check if script has been correctly defined851 String script = testCaseExecutionData.getValue1();852 if (script == null || script.isEmpty()) {853 testCaseExecutionData.setPropertyResultMessage(new MessageEvent(MessageEventEnum.PROPERTY_FAILED_GETFROMGROOVY_NULL));854 return testCaseExecutionData;855 }856 // Try to evaluate Groovy script857 try {858 String valueFromGroovy = groovyService.eval(script);859 testCaseExecutionData.setValue(valueFromGroovy);860 testCaseExecutionData.setPropertyResultMessage(new MessageEvent(MessageEventEnum.PROPERTY_SUCCESS_GETFROMGROOVY)861 .resolveDescription("VALUE", valueFromGroovy));862 } catch (IGroovyService.IGroovyServiceException e) {863 LOG.debug("Exception Running Grrovy Script :" + e.getMessage());864 testCaseExecutionData.setPropertyResultMessage(new MessageEvent(MessageEventEnum.PROPERTY_FAILED_GETFROMGROOVY_EXCEPTION).resolveDescription("REASON", e.getMessage()));865 }866 return testCaseExecutionData;867 }868 private TestCaseExecutionData property_getAttributeFromHtml(TestCaseExecutionData testCaseExecutionData, TestCaseExecution tCExecution, TestCaseCountryProperties testCaseCountryProperty, boolean forceCalculation) {869 MessageEvent res;870 try {871 Identifier identifier = identifierService.convertStringToIdentifier(testCaseExecutionData.getValue1());872 String valueFromHTML = this.webdriverService.getAttributeFromHtml(tCExecution.getSession(), identifier, testCaseExecutionData.getValue2());873 if (valueFromHTML != null) {874 testCaseExecutionData.setValue(valueFromHTML);875 res = new MessageEvent(MessageEventEnum.PROPERTY_SUCCESS_GETATTRIBUTEFROMHTML);876 res.setDescription(res.getDescription().replace("%VALUE%", valueFromHTML));877 } else {878 res = new MessageEvent(MessageEventEnum.PROPERTY_FAILED_HTML_ATTRIBUTEDONOTEXIST);879 }880 res.setDescription(res.getDescription().replace("%ELEMENT%", testCaseExecutionData.getValue1()));881 res.setDescription(res.getDescription().replace("%ATTRIBUTE%", testCaseExecutionData.getValue2()));882 } catch (NoSuchElementException exception) {883 LOG.debug(exception.toString());884 res = new MessageEvent(MessageEventEnum.PROPERTY_FAILED_HTMLVISIBLE_ELEMENTDONOTEXIST);885 res.setDescription(res.getDescription().replace("%ELEMENT%", testCaseExecutionData.getValue1()));886 }887 testCaseExecutionData.setPropertyResultMessage(res);888 return testCaseExecutionData;889 }890 private TestCaseExecutionData property_executeSoapFromLib(TestCaseExecutionData testCaseExecutionData, TestCaseExecution tCExecution, TestCaseStepActionExecution testCaseStepActionExecution, TestCaseCountryProperties testCaseCountryProperty, boolean forceCalculation) {891 String result = null;892 AnswerItem<String> answerDecode = new AnswerItem();893 try {894 AppService appService = this.appServiceService.findAppServiceByKey(testCaseExecutionData.getValue1());895 if (appService != null) {896 String decodedEnveloppe = appService.getServiceRequest();897 String decodedServicePath = appService.getServicePath();898 String decodedMethod = appService.getOperation();899 String decodedAttachement = appService.getAttachementURL();900 if (appService.getServiceRequest().contains("%")) {901 answerDecode = variableService.decodeStringCompletly(appService.getServiceRequest(), tCExecution, testCaseStepActionExecution, false);902 decodedEnveloppe = (String) answerDecode.getItem();903 if (!(answerDecode.isCodeStringEquals("OK"))) {904 // If anything wrong with the decode --> we stop here with decode message in the action result.905 testCaseExecutionData.setPropertyResultMessage(answerDecode.getResultMessage().resolveDescription("FIELD", "SOAP Service Request"));906 testCaseExecutionData.setStopExecution(answerDecode.getResultMessage().isStopTest());907 LOG.debug("Property interupted due to decode 'SOAP Service Request' Error.");908 return testCaseExecutionData;909 }910 }911 if (appService.getServicePath().contains("%")) {912 answerDecode = variableService.decodeStringCompletly(appService.getServicePath(), tCExecution, testCaseStepActionExecution, false);913 decodedServicePath = (String) answerDecode.getItem();914 if (!(answerDecode.isCodeStringEquals("OK"))) {915 // If anything wrong with the decode --> we stop here with decode message in the action result.916 testCaseExecutionData.setPropertyResultMessage(answerDecode.getResultMessage().resolveDescription("FIELD", "SOAP Service Path"));917 testCaseExecutionData.setStopExecution(answerDecode.getResultMessage().isStopTest());918 LOG.debug("Property interupted due to decode 'SOAP Service Path.");919 return testCaseExecutionData;920 }921 }922 if (appService.getOperation().contains("%")) {923 answerDecode = variableService.decodeStringCompletly(appService.getOperation(), tCExecution, testCaseStepActionExecution, false);924 decodedMethod = (String) answerDecode.getItem();925 if (!(answerDecode.isCodeStringEquals("OK"))) {926 // If anything wrong with the decode --> we stop here with decode message in the action result.927 testCaseExecutionData.setPropertyResultMessage(answerDecode.getResultMessage().resolveDescription("FIELD", "SOAP Operation"));928 testCaseExecutionData.setStopExecution(answerDecode.getResultMessage().isStopTest());929 LOG.debug("Property interupted due to decode 'SOAP Operation.");930 return testCaseExecutionData;931 }932 }933 if (appService.getAttachementURL().contains("%")) {934 answerDecode = variableService.decodeStringCompletly(appService.getAttachementURL(), tCExecution, testCaseStepActionExecution, false);935 decodedAttachement = (String) answerDecode.getItem();936 if (!(answerDecode.isCodeStringEquals("OK"))) {937 // If anything wrong with the decode --> we stop here with decode message in the action result.938 testCaseExecutionData.setPropertyResultMessage(answerDecode.getResultMessage().resolveDescription("FIELD", "SOAP Attachement URL"));939 testCaseExecutionData.setStopExecution(answerDecode.getResultMessage().isStopTest());940 LOG.debug("Property interupted due to decode 'SOAP Attachement URL.");941 return testCaseExecutionData;942 }943 }944 //Call Soap and set LastSoapCall of the testCaseExecution.945 AnswerItem soapCall = soapService.callSOAP(decodedEnveloppe, decodedServicePath, decodedMethod, decodedAttachement, null, null, 60000, tCExecution.getApplicationObj().getSystem());946 AppService se1 = (AppService) soapCall.getItem();947// tCExecution.setLastSOAPCalled(soapCall);948 if (soapCall.isCodeEquals(200)) {949// SOAPExecution lastSoapCalled = (SOAPExecution) tCExecution.getLastSOAPCalled().getItem();950 String xmlResponse = se1.getResponseHTTPBody();951 result = xmlUnitService.getFromXml(xmlResponse, appService.getAttachementURL());952 }953 if (result != null) {954 testCaseExecutionData.setValue(result);955 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_SUCCESS_SOAP);956 testCaseExecutionData.setPropertyResultMessage(res);957 } else {958 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_FAILED_SOAPFROMLIB_NODATA);959 testCaseExecutionData.setPropertyResultMessage(res);960 }961 }962 } catch (CerberusException exception) {963 LOG.error(exception.toString());964 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_FAILED_TESTDATA_PROPERTYDONOTEXIST);965 res.setDescription(res.getDescription().replace("%PROPERTY%", testCaseExecutionData.getValue1()));966 testCaseExecutionData.setPropertyResultMessage(res);967 } catch (CerberusEventException ex) {968 LOG.error(ex.toString());969 MessageEvent message = new MessageEvent(MessageEventEnum.ACTION_FAILED_CALLSOAP);970 message.setDescription(message.getDescription().replace("%SOAPNAME%", testCaseExecutionData.getValue1()));971 message.setDescription(message.getDescription().replace("%DESCRIPTION%", ex.getMessageError().getDescription()));972 testCaseExecutionData.setPropertyResultMessage(message);973 }974 return testCaseExecutionData;975 }976 private TestCaseExecutionData property_getFromXml(TestCaseExecutionData testCaseExecutionData, TestCaseExecution tCExecution, TestCaseCountryProperties testCaseCountryProperty, boolean forceCalculation) {977 // 1. Get XML value to parse978 String xmlToParse = null;979 // If value2 is defined, then take it as XML value to parse980 if (!(StringUtil.isNullOrEmpty(testCaseExecutionData.getValue2()))) {981 xmlToParse = testCaseExecutionData.getValue2();982 } // Else try to get the last known response from service call983 else if (tCExecution.getLastServiceCalled() != null) {984 xmlToParse = tCExecution.getLastServiceCalled().getResponseHTTPBody();985 } // If XML to parse is still null, then there is an error in XML value definition986 else if (xmlToParse == null) {987 testCaseExecutionData.setPropertyResultMessage(988 new MessageEvent(MessageEventEnum.PROPERTY_FAILED_GETFROMXML)989 .resolveDescription("VALUE1", testCaseExecutionData.getValue1())990 .resolveDescription("VALUE2", testCaseExecutionData.getValue2()));991 return testCaseExecutionData;992 }993 // Else we can try to parse it thanks to the dedicated service994 try {995 String valueFromXml = xmlUnitService.getFromXml(xmlToParse, testCaseExecutionData.getValue1());996 if (valueFromXml != null) {997 testCaseExecutionData.setValue(valueFromXml);998 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_SUCCESS_GETFROMXML);999 res.setDescription(res.getDescription().replace("%VALUE%", valueFromXml));1000 res.setDescription(res.getDescription().replace("%VALUE1%", testCaseExecutionData.getValue1()));1001 testCaseExecutionData.setPropertyResultMessage(res);1002 } else {1003 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_FAILED_GETFROMXML);1004 res.setDescription(res.getDescription().replace("%VALUE1%", testCaseExecutionData.getValue1()));1005 res.setDescription(res.getDescription().replace("%VALUE2%", testCaseExecutionData.getValue2()));1006 testCaseExecutionData.setPropertyResultMessage(res);1007 }1008 } catch (Exception ex) {1009 LOG.debug(ex.toString());1010 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_FAILED_GETFROMXML);1011 res.setDescription(res.getDescription().replace("%VALUE1%", testCaseExecutionData.getValue1()));1012 res.setDescription(res.getDescription().replace("%VALUE2%", testCaseExecutionData.getValue2()));1013 testCaseExecutionData.setPropertyResultMessage(res);1014 }1015 return testCaseExecutionData;1016 }1017 private TestCaseExecutionData property_getFromCookie(TestCaseExecutionData testCaseExecutionData, TestCaseExecution tCExecution, TestCaseCountryProperties testCaseCountryProperty, boolean forceCalculation) {1018 try {1019 String valueFromCookie = this.webdriverService.getFromCookie(tCExecution.getSession(), testCaseExecutionData.getValue1(), testCaseExecutionData.getValue2());1020 if (valueFromCookie != null) {1021 if (!valueFromCookie.equals("cookieNotFound")) {1022 testCaseExecutionData.setValue(valueFromCookie);1023 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_SUCCESS_GETFROMCOOKIE);1024 res.setDescription(res.getDescription().replace("%COOKIE%", testCaseExecutionData.getValue1()));1025 res.setDescription(res.getDescription().replace("%PARAM%", testCaseExecutionData.getValue2()));1026 res.setDescription(res.getDescription().replace("%VALUE%", valueFromCookie));1027 testCaseExecutionData.setPropertyResultMessage(res);1028 } else {1029 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_FAILED_GETFROMCOOKIE_COOKIENOTFOUND);1030 res.setDescription(res.getDescription().replace("%COOKIE%", testCaseExecutionData.getValue1()));1031 res.setDescription(res.getDescription().replace("%PARAM%", testCaseExecutionData.getValue2()));1032 testCaseExecutionData.setPropertyResultMessage(res);1033 }1034 } else {1035 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_FAILED_GETFROMCOOKIE_PARAMETERNOTFOUND);1036 res.setDescription(res.getDescription().replace("%COOKIE%", testCaseExecutionData.getValue1()));1037 res.setDescription(res.getDescription().replace("%PARAM%", testCaseExecutionData.getValue2()));1038 testCaseExecutionData.setPropertyResultMessage(res);1039 }1040 } catch (Exception exception) {1041 LOG.debug(exception.toString());1042 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_FAILED_GETFROMCOOKIE_COOKIENOTFOUND);1043 res.setDescription(res.getDescription().replace("%COOKIE%", testCaseExecutionData.getValue1()));1044 res.setDescription(res.getDescription().replace("%PARAM%", testCaseExecutionData.getValue2()));1045 testCaseExecutionData.setPropertyResultMessage(res);1046 }1047 return testCaseExecutionData;1048 }1049 private TestCaseExecutionData property_getDifferencesFromXml(TestCaseExecutionData testCaseExecutionData, TestCaseExecution tCExecution, TestCaseCountryProperties testCaseCountryProperty, boolean forceCalculation) {1050 try {1051 LOG.debug("Computing differences between " + testCaseExecutionData.getValue1() + " and " + testCaseExecutionData.getValue2());1052 String differences = xmlUnitService.getDifferencesFromXml(testCaseExecutionData.getValue1(), testCaseExecutionData.getValue2());1053 if (differences != null) {1054 LOG.debug("Computing done.");1055 testCaseExecutionData.setValue(differences);1056 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_SUCCESS_GETDIFFERENCESFROMXML);1057 res.setDescription(res.getDescription().replace("%VALUE1%", testCaseExecutionData.getValue1()));1058 res.setDescription(res.getDescription().replace("%VALUE2%", testCaseExecutionData.getValue2()));1059 testCaseExecutionData.setPropertyResultMessage(res);1060 } else {1061 LOG.debug("Computing failed.");1062 MessageEvent res = new MessageEvent(MessageEventEnum.PROPERTY_FAILED_GETDIFFERENCESFROMXML);1063 res.setDescription(res.getDescription().replace("%VALUE1%", testCaseExecutionData.getValue1()));...
property_getDifferencesFromXml
Using AI Code Generation
1importClass(org.cerberus.engine.gwt.impl.PropertyService);2var propService = new PropertyService();3var xml = "<properties><entry key=\"key1\">value1</entry><entry key=\"key2\">value2</entry></properties>";4var prop = propService.property_getDifferencesFromXml(xml);5console.log("Properties: " + prop);6importClass(org.cerberus.engine.gwt.impl.PropertyService);7var propService = new PropertyService();8var xml = "<properties><entry key=\"key1\">value1</entry><entry key=\"key2\">value2</entry></properties>";9var prop = propService.property_getDifferencesFromXml(xml);10console.log("Properties: " + prop);11importClass(org.cerberus.engine.gwt.impl.PropertyService);12var propService = new PropertyService();13var xml = "<properties><entry key=\"key1\">value1</entry><entry key=\"key2\">value2</entry></properties>";14var prop = propService.property_getDifferencesFromXml(xml);15console.log("Properties: " + prop);16importClass(org.cerberus.engine.gwt.impl.PropertyService);17var propService = new PropertyService();18var xml = "<properties><entry key=\"key1\">value1</entry><entry key=\"key2\">value2</entry></properties>";19var prop = propService.property_getDifferencesFromXml(xml);20console.log("Properties: " + prop);21importClass(org.cerberus.engine.gwt.impl.PropertyService);22var propService = new PropertyService();
property_getDifferencesFromXml
Using AI Code Generation
1import groovy.xml.XmlSlurper2import org.cerberus.engine.entity.MessageEvent3import org.cerberus.engine.entity.MessageGeneral4import org.cerberus.engine.entity.MessageGeneralEnum5import org.cerberus.engine.entity.MessageEventEnum6import org.cerberus.engine.entity.MessageEvent7import org.cerberus.engine.entity.MessageGeneral8import org.cerberus.engine.execution.impl.TestService9import org.cerberus.engine.gwt.impl.PropertyService10import org.cerberus.engine.gwt.impl.TestCaseService11import org.cerberus.engine.gwt.impl.TestDataLibService12import org.cerberus.engine.gwt.impl.TestDataLibDataService13import org.cerberus.engine.gwt.impl.TestDataLibDataLineService14import org.cerberus.engine.gwt.impl
property_getDifferencesFromXml
Using AI Code Generation
1Property property = new Property();2property.setName("testProperty");3Property propertyFromDb = propertyService.findPropertyByKey("testProperty");4List<PropertyDifference> differences = propertyService.getPropertyDifferencesFromXml(property, propertyFromDb);5for (PropertyDifference difference : differences) {6 if (difference.getDiffType() == PropertyDifference.DiffType.MISSING) {7 LOG.info("Property " + difference.getProperty().getName() + " is missing in the database");8 } else if (difference.getDiffType() == PropertyDifference.DiffType.DIFFERENT) {9 LOG.info("Property " + difference.getProperty().getName() + " is different in the database");10 } else if (difference.getDiffType() == PropertyDifference.DiffType.EXTRA) {11 LOG.info("Property " + difference.getProperty().getName() + " is extra in the database");12 }13}14for (PropertyDifference difference : differences) {15 if (difference.getDiffType() == PropertyDifference.DiffType.MISSING) {16 LOG.info("Property " + difference.getProperty().getName() + " is missing in the database");17 } else if (difference.getDiffType() == PropertyDifference.DiffType.DIFFERENT) {18 LOG.info("Property " + difference.getProperty().getName() + " is different in the database");19 LOG.info(" - Value in the database: " + difference.getDatabaseValue());20 LOG.info(" - Value in the xml file : " + difference.getXmlValue());21 } else if (difference.getDiffType() == PropertyDifference.DiffType.EXTRA) {22 LOG.info("Property " + difference.getProperty().getName() + " is extra in the database");23 }24}25for (PropertyDifference difference : differences) {26 if (difference.getDiffType() == PropertyDifference.DiffType.MISSING) {27 LOG.info("Property " + difference.getProperty().getName() + " is missing in the database");28 } else if (difference.getDiffType() == PropertyDifference.DiffType.DIFFERENT) {29 LOG.info("Property " + difference.getProperty().getName() + " is different in the database");30 LOG.info(" - Value in the database: " + difference.getDatabaseValue());31 LOG.info(" - Value in the xml
property_getDifferencesFromXml
Using AI Code Generation
1importClass(Packages.org.cerberus.engine.entity.MessageEvent);2importClass(Packages.org.cerberus.engine.entity.MessageGeneral);3importClass(Packages.org.cerberus.engine.entity.MessageEventEnum);4importClass(Packages.org.cerberus.engine.entity.MessageEventFactory);5importClass(Packages.org.cerberus.engine.entity.MessageGeneralEnum);6importClass(Packages.org.cerberus.engine.entity.MessageGeneralFactory);7importClass(Packages.org.cerberus.engine.entity.MessageEvent);8importClass(Packages.org.cerberus.engine.entity.MessageEventEnum);9importClass(Packages.org.cerberus.engine.entity.MessageEventFactory);10importClass(Packages.org.cerberus.engine.entity.MessageGeneralEnum);11importClass(Packages.org.cerberus.engine.entity.MessageGeneralFactory);12importClass(Packages.org.cerberus.engine.execution.IPropertyService);13importClass(Packages.org.cerberus.engine.execution.impl.PropertyService);14importClass(Packages.org.cerberus.engine.execution.impl.TestCaseService);15importClass(Packages.org.cerberus.engine.execution.impl.TestService);16importClass(Packages.org.cerberus.engine.execution.impl.TestBatteryService);17importClass(Packages.org.cerberus.engine.execution.impl.TestDataLibService);18importClass(Packages.org.cerberus.engine.execution.impl.TestDataLibDataService);19importClass(Packages.org.cerberus.engine.execution.impl.TestDataLibDatabaseService);20importClass(Packages.org.cerberus.engine.execution.impl.TestDataLibHttpService);21importClass(Packages.org.cerberus.engine.execution.impl.TestDataLibService);22importClass(Packages.org.cerberus.engine.execution.impl.TestDataLibSqlService);23importClass(Packages.org.cerberus.engine.execution.impl.TestDataLibXmlService);24importClass(Packages.org.cerberus.engine.execution.impl.TestLinkService);25importClass(Packages.org.cerberus.engine.execution.impl.TestService);26importClass(Packages.org.cerberus.engine.execution.impl.TestCaseExecutionService);27importClass(Packages.org.cerberus.engine.execution.impl.TestCaseStepActionExecutionService);28importClass(Packages.org.cerberus.engine.execution.impl.TestCaseStepActionControlExecutionService);29importClass(Packages.org.cerberus.engine.execution.impl.TestCaseStepExecutionService);30importClass
property_getDifferencesFromXml
Using AI Code Generation
1import org.cerberus.engine.entity.MessageEvent;2import org.cerberus.engine.entity.MessageEventEnum;3import org.cerberus.engine.execution.IExecutionThreadPoolService;4import org.cerberus.engine.gwt.IPropertyService;5import org.cerberus.engine.gwt.IXmlUnitService;6import org.cerberus.engine.gwt.impl.PropertyService;7import org.cerberus.engine.gwt.impl.XmlUnitService;8import org.cerberus.engine.threadpool.IExecutionThreadPoolService;9import org.cerberus.exception.CerberusEventException;10import org.cerberus.util.answer.AnswerItem;11import org.cerberus.util.answer.AnswerList;12import org.cerberus.util.answer.AnswerUtil;13import org.cerberus.version.Infos;14import org.springframework.beans.factory.annotation.Autowired;15import org.springframework.context.ApplicationContext;16import org.springframework.stereotype.Service;17import java.io.File;18import java.util.ArrayList;19import java.util.List;20public class DemoPropertyService {21 private ApplicationContext appContext;22 private IExecutionThreadPoolService executionThreadPoolService;23 public MessageEvent demoPropertyService(String propertyFile, String xmlFile) throws CerberusEventException {24 MessageEvent message = new MessageEvent(MessageEventEnum.GENERIC_OK);25 message.setDescription(message.getDescription().replace("%DESCRIPTION%", "Property Service Demo"));26 IPropertyService propertyService = appContext.getBean(PropertyService.class);27 IXmlUnitService xmlUnitService = appContext.getBean(XmlUnitService.class);
property_getDifferencesFromXml
Using AI Code Generation
1import org.cerberus.engine.entity.MessageEvent;2import org.cerberus.engine.entity.MessageEventEnum;3import org.cerberus.engine.entity.MessageGeneral;4import org.cerberus.engine.entity.MessageGeneralEnum;5import org.cerberus.engine.entity.Session;6import org.cerberus.engine.entity.TestCaseExecution;7import org.cerberus.engine.gwt.impl.PropertyService;8import org.cerberus.engine.execution.IExecutionThreadService;9import org.cerberus.util.answer.AnswerItem;10import org.cerberus.util.answer.AnswerUtil;11import org.cerberus.util.answer.AnswerList;12import org.cerberus.util.answer.Answer;13import org.cerberus.crud.entity.Property;14import org.cerberus.crud.entity.TestCaseExecutionData;15import org.cerberus.crud.entity.TestCaseExecutionQueueDep;16import org.cerberus.crud.entity.TestCaseExecutionQueueDepParameter;17import org.cerberus.crud.entity.TestCaseExecutionQueueDepTestCase;18import org.cerberus.crud.entity.TestCaseExecutionQueueDepTest;19import org.cerberus.crud.entity.TestCaseExecutionQueueDepTestBattery;20import org.cerberus.crud.entity.TestCaseExecutionQueueDepTestBatteryTestCase;21import org.cerberus.crud.entity.TestCaseExecutionQueueDepTestBatteryTestCaseStep;22import org.cerberus.crud.entity.TestCaseExecutionQueueDepTestBatteryTestCaseStepActionControl;23import org.cerberus.crud.entity.TestCaseExecutionQueueDepTestBatteryTestCaseStepActionControlExecution;24import org.cerberus.crud.entity.TestCaseExecutionQueueDepTestBatteryTestCaseStepActionControlExecutionFile;25import org.cerberus.crud.entity.TestCaseExecutionQueueDepTestBatteryTestCaseStepActionExecution;26import org.cerberus.crud.entity.TestCaseExecutionQueueDepTestBatteryTestCaseStepExecution;27import org.cerberus.crud.entity.TestCaseExecution
property_getDifferencesFromXml
Using AI Code Generation
1package org.cerberus.engine.gwt.impl;2import org.cerberus.engine.entity.MessageEvent;3import org.cerberus.engine.entity.MessageGeneral;4import org.cerberus.engine.entity.MessageGeneralEnum;5import org.cerberus.engine.entity.MessageEventEnum;6import org.cerberus.engine.entity.MessageEventFactory;7import org.cerberus.engine.entity.MessageEventGeneric;8import org.cerberus.engine.entity.MessageEventGenericEnum;9import org.cerberus.engine.entity.MessageEventGenericFactory;10import org.cerberus.engine.entity.MessageEventProperty;11import org.cerberus.engine.entity.MessageEventPropertyEnum;12import org.cerberus.engine.entity.MessageEventPropertyFactory;13import org.cerberus.engine.entity.MessageEventPropertyMissing;14import org.cerberus.engine.entity.MessageEventPropertyMissingEnum;15import org.cerberus.engine.entity.MessageEventPropertyMissingFactory;16import org.cerberus.engine.entity.MessageEventPropertyPosition;17import org.cerberus.engine.entity.MessageEventPropertyPositionEnum;18import org.cerberus.engine.entity.MessageEventPropertyPositionFactory;19import org.cerberus.engine.entity.MessageEventPropertyType;20import org.cerberus.engine.entity.MessageEventPropertyTypeEnum;21import org.cerberus.engine.entity.MessageEventPropertyTypeFactory;22import org.cerberus.engine.entity.MessageEventPropertyTypeLength;23import org.cerberus.engine.entity.MessageEventPropertyTypeLengthEnum;24import org.cerberus.engine.entity.MessageEventPropertyTypeLengthFactory;25import org.cerberus.engine.entity.MessageEventPropertyTypeFormat;26import org.cerberus.engine.entity.MessageEventPropertyTypeFormatEnum;27import org.cerberus.engine.entity.MessageEventPropertyTypeFormatFactory;28import org.cerberus.engine.entity.MessageEventPropertyTypeRegexp;29import org.cerberus.engine.entity.MessageEventPropertyTypeRegexpEnum;30import org.cerberus.engine.entity.MessageEventPropertyTypeRegexpFactory;31import org.cerberus.engine.entity.MessageEventPropertyTypeRange;32import org.cerberus.engine.entity.MessageEventPropertyTypeRangeEnum;
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!