Best Cerberus-source code snippet using org.cerberus.service.webdriver.impl.WebDriverService.getFromCookie
Source:PropertyService.java  
...620                        case TestCaseCountryProperties.TYPE_GETATTRIBUTEFROMHTML:621                            testCaseExecutionData = this.property_getAttributeFromHtml(testCaseExecutionData, tCExecution, testCaseCountryProperty, forceRecalculation);622                            break;623                        case TestCaseCountryProperties.TYPE_GETFROMCOOKIE:624                            testCaseExecutionData = this.property_getFromCookie(testCaseExecutionData, tCExecution, testCaseCountryProperty, forceRecalculation);625                            break;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                }...getFromCookie
Using AI Code Generation
1String cookie_value = org.cerberus.service.webdriver.impl.WebDriverService.getFromCookie("cookie_name");2String local_storage_item_value = org.cerberus.service.webdriver.impl.WebDriverService.getFromLocalStorage("local_storage_item_name");3String session_storage_item_value = org.cerberus.service.webdriver.impl.WebDriverService.getFromSessionStorage("session_storage_item_name");4String url_parameter_value = org.cerberus.service.webdriver.impl.WebDriverService.getFromUrl("url_parameter_name");5String window_property_value = org.cerberus.service.webdriver.impl.WebDriverService.getFromWindow("window_property_name");6String window_property_value = org.cerberus.service.webdriver.impl.WebDriverService.getFromWindow("window_property_name");7String window_property_value = org.cerberus.service.webdriver.impl.WebDriverService.getFromWindow("window_property_name");getFromCookie
Using AI Code Generation
1public void getFromCookie(String cookieName) {2    WebDriver driver = appService.getWebDriverService().getDriver();3    Cookie cookie = driver.manage().getCookieNamed(cookieName);4    if (cookie != null) {5        answer = cookie.getValue();6    } else {7        answer = "";8    }9}10public void getFromCookie(String cookieName) {11    WebDriver driver = appService.getWebDriverService().getDriver();12    Cookie cookie = driver.manage().getCookieNamed(cookieName);13    if (cookie != null) {14        answer = cookie.getValue();15    } else {16        answer = "";17    }18}19public void getFromCookie(String cookieName) {20    WebDriver driver = appService.getWebDriverService().getDriver();21    Cookie cookie = driver.manage().getCookieNamed(cookieName);22    if (cookie != null) {23        answer = cookie.getValue();24    } else {25        answer = "";26    }27}28public void getFromCookie(String cookieName) {29    WebDriver driver = appService.getWebDriverService().getDriver();30    Cookie cookie = driver.manage().getCookieNamed(cookieName);31    if (cookie != null) {32        answer = cookie.getValue();33    } else {34        answer = "";35    }36}37public void getFromCookie(String cookieName) {38    WebDriver driver = appService.getWebDriverService().getDriver();39    Cookie cookie = driver.manage().getCookieNamed(cookieName);40    if (cookie != null) {41        answer = cookie.getValue();42    } else {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!!
