Best Cerberus-source code snippet using org.cerberus.crud.entity.Invariant.getDescription
Source:ExecutionStartService.java
...96 try {97 myInvariant = invariantService.convert(invariantService.readByKey("OUTPUTFORMAT", tCExecution.getOutputFormat()));98 } catch (CerberusException ex) {99 MessageGeneral mes = new MessageGeneral(MessageGeneralEnum.VALIDATION_FAILED_OUTPUTFORMAT_INVALID);100 mes.setDescription(mes.getDescription().replace("%PARAM%", tCExecution.getOutputFormat()));101 LOG.debug(mes.getDescription());102 throw new CerberusException(mes);103 }104 try {105 myInvariant = invariantService.convert(invariantService.readByKey("VERBOSE", String.valueOf(tCExecution.getVerbose())));106 } catch (CerberusException ex) {107 MessageGeneral mes = new MessageGeneral(MessageGeneralEnum.VALIDATION_FAILED_VERBOSE_INVALID);108 mes.setDescription(mes.getDescription().replace("%PARAM%", String.valueOf(tCExecution.getVerbose())));109 LOG.debug(mes.getDescription());110 throw new CerberusException(mes);111 }112 try {113 myInvariant = invariantService.convert(invariantService.readByKey("SCREENSHOT", String.valueOf(tCExecution.getScreenshot())));114 } catch (CerberusException ex) {115 MessageGeneral mes = new MessageGeneral(MessageGeneralEnum.VALIDATION_FAILED_SCREENSHOT_INVALID);116 mes.setDescription(mes.getDescription().replace("%PARAM%", String.valueOf(tCExecution.getScreenshot())));117 LOG.debug(mes.getDescription());118 throw new CerberusException(mes);119 }120 LOG.debug("Parameters checked.");121 /**122 * Load TestCase information and set TCase to the TestCaseExecution123 * object.124 */125 tCExecution.setResultMessage(new MessageGeneral(MessageGeneralEnum.EXECUTION_PE_LOADINGDATA));126 LOG.debug("Loading Test Case Information. " + tCExecution.getTest() + "-" + tCExecution.getTestCase());127 // Integrate this.loadTestCaseService.loadTestCase(tCExecution); inside with Dependency.128 try {129// TestCase tCase = testCaseService.findTestCaseByKey(tCExecution.getTest(), tCExecution.getTestCase());130 TestCase tCase = testCaseService.convert(testCaseService.readByKey(tCExecution.getTest(), tCExecution.getTestCase()));131 if (tCase != null) {132 tCExecution.setTestCaseObj(tCase);133 tCExecution.setDescription(tCase.getDescription());134 tCExecution.setConditionOper(tCase.getConditionOper());135 tCExecution.setConditionVal1(tCase.getConditionVal1());136 tCExecution.setConditionVal1Init(tCase.getConditionVal1());137 tCExecution.setConditionVal2(tCase.getConditionVal2());138 tCExecution.setConditionVal2Init(tCase.getConditionVal2());139 tCExecution.setTestCaseVersion(tCase.getTestCaseVersion());140 } else {141 throw new CerberusException(new MessageGeneral(MessageGeneralEnum.NO_DATA_FOUND));142 }143 /**144 * Copy the status of the testcase to the status column of the145 * Execution. This is done to know how stable was the testcase at146 * the time of the execution.147 */148 tCExecution.setStatus(tCase.getStatus());149 } catch (CerberusException ex) {150 MessageGeneral mes = new MessageGeneral(MessageGeneralEnum.VALIDATION_FAILED_TESTCASE_NOT_FOUND);151 mes.setDescription(mes.getDescription().replace("%TEST%", tCExecution.getTest()));152 mes.setDescription(mes.getDescription().replace("%TESTCASE%", tCExecution.getTestCase()));153 LOG.debug(mes.getDescription());154 throw new CerberusException(mes);155 }156 LOG.debug("Test Case Information Loaded - " + tCExecution.getTest() + "-" + tCExecution.getTestCase());157 /**158 * Load Test information and Set TestObject to the TestCaseExecution159 * object.160 */161 LOG.debug("Loading Test Information");162 try {163 tCExecution.setTestObj(this.testService.convert(this.testService.readByKey(tCExecution.getTest())));164 } catch (CerberusException ex) {165 MessageGeneral mes = new MessageGeneral(MessageGeneralEnum.VALIDATION_FAILED_TEST_NOT_FOUND);166 mes.setDescription(mes.getDescription().replace("%TEST%", tCExecution.getTest()));167 LOG.debug(mes.getDescription());168 throw new CerberusException(mes);169 }170 LOG.debug("Test Information Loaded - " + tCExecution.getTest());171 /**172 * Load Application information and Set Application to the173 * TestCaseExecution object.174 */175 LOG.debug("Loading Application Information");176 try {177 tCExecution.setApplication(tCExecution.getTestCaseObj().getApplication());178 tCExecution.setApplicationObj(applicationService.convert(this.applicationService.readByKey(tCExecution.getTestCaseObj().getApplication())));179 } catch (CerberusException ex) {180 MessageGeneral mes = new MessageGeneral(MessageGeneralEnum.VALIDATION_FAILED_APPLICATION_NOT_FOUND);181 mes.setDescription(mes.getDescription().replace("%APPLI%", tCExecution.getTestCaseObj().getApplication()));182 LOG.debug(mes.getDescription());183 throw new CerberusException(mes);184 }185 LOG.debug("Application Information Loaded - " + tCExecution.getApplicationObj().getApplication() + " - " + tCExecution.getApplicationObj().getDescription());186 /**187 * Init System from Application.188 */189 tCExecution.setSystem(tCExecution.getApplicationObj().getSystem());190 /**191 * Load Country information and Set it to the TestCaseExecution object.192 */193 LOG.debug("Loading Country Information");194 try {195 tCExecution.setCountryObj(invariantService.convert(invariantService.readByKey("COUNTRY", tCExecution.getCountry())));196 } catch (CerberusException ex) {197 MessageGeneral mes = new MessageGeneral(MessageGeneralEnum.VALIDATION_FAILED_COUNTRY_NOT_FOUND);198 mes.setDescription(mes.getDescription().replace("%COUNTRY%", tCExecution.getCountry()));199 LOG.debug(mes.getDescription());200 throw new CerberusException(mes);201 }202 LOG.debug("Country Information Loaded - " + tCExecution.getCountryObj().getValue() + " - " + tCExecution.getCountryObj().getDescription());203 /**204 * Checking if execution is manual or automaticaly configured. If205 * Manual, CountryEnvironmentParameters object is manually created with206 * the servlet parameters. If automatic, parameters are build from the207 * CountryEnvironmentParameters. table in the database. Environmentdata208 * will always be filled with the environment. Environment will be209 * forced to MANUAL if execution is manual.210 *211 */212 LOG.debug("Checking if connectivity parameters are manual or automatic from the database. '" + tCExecution.isManualURL() + "'");213 if (tCExecution.isManualURL()) {214 LOG.debug("Execution will be done with manual application connectivity setting.");215 if (StringUtil.isNullOrEmpty(tCExecution.getMyHost())) {216 MessageGeneral mes = new MessageGeneral(MessageGeneralEnum.VALIDATION_FAILED_MANUALURL_INVALID);217 LOG.debug(mes.getDescription());218 throw new CerberusException(mes);219 } else {220 CountryEnvironmentParameters cea;221 cea = this.factorycountryEnvironmentParameters.create(tCExecution.getApplicationObj().getSystem(), tCExecution.getCountry(), tCExecution.getEnvironment(), tCExecution.getApplicationObj().getApplication(), tCExecution.getMyHost(), "", tCExecution.getMyContextRoot(), tCExecution.getMyLoginRelativeURL(), "", "", "", "", CountryEnvironmentParameters.DEFAULT_POOLSIZE);222 cea.setIp(tCExecution.getMyHost());223 cea.setUrl(tCExecution.getMyContextRoot());224 tCExecution.setUrl(StringUtil.getURLFromString(cea.getIp(), cea.getUrl(), "", ""));225 cea.setUrlLogin(tCExecution.getMyLoginRelativeURL());226 tCExecution.setCountryEnvironmentParameters(cea);227 LOG.debug(" -> Execution will be done with manual application connectivity setting. IP/URL/LOGIN : " + cea.getIp() + "-" + cea.getUrl() + "-" + cea.getUrlLogin());228 }229 /**230 * If execution is manual, we force the env at 'MANUAL-ENVDATA'231 * string. We keep envData information in order to trace the env232 * data that has been used.233 */234 tCExecution.setEnvironment("MANUAL-" + tCExecution.getEnvironmentData());235 } else {236 /**237 * Automatic application configuration execution.238 */239 LOG.debug("Execution will be done with automatic application connectivity setting.");240 /**241 * Load Country/Environment/Application information and set them to242 * the TestCaseExecution object243 */244 LOG.debug("Loading Country/Environment/Application Information. " + tCExecution.getCountry() + "-" + tCExecution.getEnvironment() + "-" + tCExecution.getApplicationObj().getApplication());245 CountryEnvironmentParameters cea;246 try {247 cea = this.countryEnvironmentParametersService.convert(this.countryEnvironmentParametersService.readByKey(248 tCExecution.getApplicationObj().getSystem(), tCExecution.getCountry(), tCExecution.getEnvironment(), tCExecution.getApplicationObj().getApplication()));249 if (cea != null) {250 tCExecution.setCountryEnvironmentParameters(cea);251// tCExecution.setUrl(cea.getIp()+ cea.getUrl());252 tCExecution.setUrl(StringUtil.getURLFromString(cea.getIp(), cea.getUrl(), "", ""));253 } else {254 MessageGeneral mes = new MessageGeneral(MessageGeneralEnum.VALIDATION_FAILED_COUNTRYENVAPP_NOT_FOUND);255 mes.setDescription(mes.getDescription().replace("%COUNTRY%", tCExecution.getCountry()));256 mes.setDescription(mes.getDescription().replace("%ENV%", tCExecution.getEnvironment()));257 mes.setDescription(mes.getDescription().replace("%APPLI%", tCExecution.getTestCaseObj().getApplication()));258 LOG.error(mes.getDescription());259 throw new CerberusException(mes);260 }261 /**262 * Forcing the IP URL and Login config from DevIP, DevURL and263 * DevLogin parameter only if DevURL is defined.264 */265 } catch (CerberusException ex) {266 MessageGeneral mes = new MessageGeneral(MessageGeneralEnum.VALIDATION_FAILED_COUNTRYENVAPP_NOT_FOUND);267 mes.setDescription(mes.getDescription().replace("%COUNTRY%", tCExecution.getCountry()));268 mes.setDescription(mes.getDescription().replace("%ENV%", tCExecution.getEnvironment()));269 mes.setDescription(mes.getDescription().replace("%APPLI%", tCExecution.getTestCaseObj().getApplication()));270 LOG.error(mes.getDescription());271 throw new CerberusException(mes);272 }273 LOG.debug("Country/Environment/Application Information Loaded. " + tCExecution.getCountry() + " - " + tCExecution.getEnvironment() + " - " + tCExecution.getApplicationObj().getApplication());274 LOG.debug(" -> Execution will be done with automatic application connectivity setting. IP/URL/LOGIN : " + cea.getIp() + "-" + cea.getUrl() + "-" + cea.getUrlLogin());275 tCExecution.setEnvironmentData(tCExecution.getEnvironment());276 }277 /**278 * Load Environment object from invariant table.279 */280 LOG.debug("Loading Environment Information. " + tCExecution.getEnvironmentData());281 try {282 tCExecution.setEnvironmentDataObj(invariantService.convert(invariantService.readByKey("ENVIRONMENT", tCExecution.getEnvironmentData())));283 } catch (CerberusException ex) {284 if (tCExecution.isManualURL()) {285 MessageGeneral mes = new MessageGeneral(MessageGeneralEnum.VALIDATION_FAILED_ENVIRONMENT_DOESNOTEXIST_MAN);286 mes.setDescription(mes.getDescription().replace("%ENV%", tCExecution.getEnvironmentData()));287 LOG.debug(mes.getDescription());288 throw new CerberusException(mes);289 } else {290 MessageGeneral mes = new MessageGeneral(MessageGeneralEnum.VALIDATION_FAILED_ENVIRONMENT_DOESNOTEXIST);291 mes.setDescription(mes.getDescription().replace("%ENV%", tCExecution.getEnvironmentData()));292 LOG.debug(mes.getDescription());293 throw new CerberusException(mes);294 }295 }296 LOG.debug("Environment Information Loaded");297 /**298 * Load Country/Environment information and set them to the299 * TestCaseExecution object. Environment considered here is the data300 * environment.301 */302 LOG.debug("Loading Country/Environment Information. " + tCExecution.getCountry() + " - " + tCExecution.getEnvironmentData());303 CountryEnvParam countEnvParam;304 try {305 countEnvParam = this.countryEnvParamService.convert(this.countryEnvParamService.readByKey(tCExecution.getApplicationObj().getSystem(), tCExecution.getCountry(), tCExecution.getEnvironmentData()));306 tCExecution.setCountryEnvParam(countEnvParam);307 /**308 * Copy the Build/Revision of the environment to the Execution. This309 * is done to keep track of all execution done on a specific version310 * of system311 */312 tCExecution.setBuild(countEnvParam.getBuild());313 tCExecution.setRevision(countEnvParam.getRevision());314 } catch (CerberusException ex) {315 MessageGeneral mes = new MessageGeneral(MessageGeneralEnum.VALIDATION_FAILED_COUNTRYENV_NOT_FOUND);316 mes.setDescription(mes.getDescription().replace("%SYSTEM%", tCExecution.getApplicationObj().getSystem()));317 mes.setDescription(mes.getDescription().replace("%COUNTRY%", tCExecution.getCountry()));318 mes.setDescription(mes.getDescription().replace("%ENV%", tCExecution.getEnvironmentData()));319 LOG.debug(mes.getDescription());320 throw new CerberusException(mes);321 }322 LOG.debug("Country/Environment Information Loaded. " + tCExecution.getCountry() + " - " + tCExecution.getEnvironmentData());323 /**324 * If Timeout is defined at the execution level, set action wait default325 * to this value, else Get the cerberus_action_wait_default parameter.326 * This parameter will be used by tha wait action if no timeout/event is327 * defined.328 */329 try {330 if (!tCExecution.getTimeout().isEmpty()) {331 tCExecution.setCerberus_action_wait_default(Integer.valueOf(tCExecution.getTimeout()));332 } else {333 tCExecution.setCerberus_action_wait_default(parameterService.getParameterIntegerByKey("cerberus_action_wait_default", tCExecution.getApplicationObj().getSystem(), 90000));334 }335 } catch (NumberFormatException ex) {336 LOG.warn("Parameter cerberus_action_wait_default must be an integer, default value set to 90000 milliseconds. " + ex.toString());337 tCExecution.setCerberus_action_wait_default(90000);338 }339 /**340 * Check if test can be executed TODO : Replace Message with try/catch341 * cerberus exception342 */343 tCExecution.setResultMessage(new MessageGeneral(MessageGeneralEnum.EXECUTION_PE_VALIDATIONSTARTING));344 LOG.debug("Performing the Checks before starting the execution");345 MessageGeneral canExecuteTestCase = this.executionCheckService.checkTestCaseExecution(tCExecution);346 tCExecution.setResultMessage(canExecuteTestCase);347 /**348 * We stop if the result is not OK349 */350 if (!(tCExecution.getResultMessage().equals(new MessageGeneral(MessageGeneralEnum.EXECUTION_PE_CHECKINGPARAMETERS)))) {351 return tCExecution;352 }353 LOG.debug("Checks performed -- > OK to continue.");354 /**355 * For GUI application, check if Browser is supported.356 */357 if (!tCExecution.getManualExecution().equals("Y") && tCExecution.getApplicationObj().getType().equalsIgnoreCase(Application.TYPE_GUI)) {358 try {359 myInvariant = invariantService.convert(invariantService.readByKey("BROWSER", tCExecution.getBrowser()));360 } catch (CerberusException ex) {361 MessageGeneral mes = new MessageGeneral(MessageGeneralEnum.VALIDATION_FAILED_BROWSER_NOT_SUPPORTED);362 mes.setDescription(mes.getDescription().replace("%BROWSER%", tCExecution.getBrowser()));363 LOG.debug(mes.getDescription());364 throw new CerberusException(mes);365 }366 }367 /**368 * Start server if execution is not manual369 */370 if (!tCExecution.getManualExecution().equals("Y")) {371 tCExecution.setResultMessage(new MessageGeneral(MessageGeneralEnum.EXECUTION_PE_STARTINGROBOTSERVER));372 if (tCExecution.getApplicationObj().getType().equalsIgnoreCase(Application.TYPE_GUI)373 || tCExecution.getApplicationObj().getType().equalsIgnoreCase(Application.TYPE_APK)374 || tCExecution.getApplicationObj().getType().equalsIgnoreCase(Application.TYPE_IPA)375 || tCExecution.getApplicationObj().getType().equalsIgnoreCase(Application.TYPE_FAT)) {376 if (tCExecution.getIp().equalsIgnoreCase("")) {377 MessageGeneral mes = new MessageGeneral(MessageGeneralEnum.VALIDATION_FAILED_SELENIUM_EMPTYORBADIP);378 mes.setDescription(mes.getDescription().replace("%IP%", tCExecution.getIp()));379 LOG.debug(mes.getDescription());380 throw new CerberusException(mes);381 }382 /**383 * Start Selenium server384 */385 LOG.debug("Starting Server.");386 tCExecution.setResultMessage(new MessageGeneral(MessageGeneralEnum.EXECUTION_PE_CREATINGRUNID));387 try {388 this.serverService.startServer(tCExecution);389 } catch (CerberusException ex) {390 LOG.debug(ex.getMessageError().getDescription());391 throw new CerberusException(ex.getMessageError());392 }393 LOG.debug("Server Started.");394 }395 }396 /**397 * Register RunID inside database.398 */399 tCExecution.setResultMessage(new MessageGeneral(MessageGeneralEnum.EXECUTION_PE_CREATINGRUNID));400 LOG.debug("Registering Execution ID on database");401 long runID = 0;402 try {403 runID = this.testCaseExecutionService.registerRunID(tCExecution);404 if (runID != 0) {405 tCExecution.setId(runID);406 executionUUIDObject.setExecutionUUID(tCExecution.getExecutionUUID(), tCExecution);407 // Update Queue Execution here if QueueID =! 0.408 if (tCExecution.getQueueID() != 0) {409 inQueueService.updateToExecuting(tCExecution.getQueueID(), "", runID);410 }411 } else {412 MessageGeneral mes = new MessageGeneral(MessageGeneralEnum.VALIDATION_FAILED_COULDNOTCREATE_RUNID);413 tCExecution.setResultMessage(mes);414 LOG.fatal("Could not create RunID, or cannot retreive the generated Key");415 throw new CerberusException(mes);416 }417 } catch (CerberusException ex) {418 tCExecution.setResultMessage(new MessageGeneral(MessageGeneralEnum.VALIDATION_FAILED_COULDNOTCREATE_RUNID));419 LOG.warn(ex.getMessageError().getDescription());420 throw new CerberusException(ex.getMessageError());421 }422 LOG.debug("Execution ID registered on database : " + tCExecution.getId());423 /**424 * Stop the browser if executionID is equal to zero (to prevent database425 * instabilities)426 */427 if (!tCExecution.getManualExecution().equals("Y")) {428 try {429 if (tCExecution.getId() == 0) {430 LOG.debug("Starting to Stop the Selenium Server.");431 this.serverService.stopServer(tCExecution.getSession());432 LOG.debug("Selenium Server stopped.");433 }...
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!!