How to use getQueueRobotHost method of org.cerberus.engine.queuemanagement.entity.TestCaseExecutionQueueToTreat class

Best Cerberus-source code snippet using org.cerberus.engine.queuemanagement.entity.TestCaseExecutionQueueToTreat.getQueueRobotHost

Source:ExecutionThreadPoolService.java Github

copy

Full Screen

...169 for (TestCaseExecutionQueueToTreat exe : executionsToTreat) {170 String const01_key = TestCaseExecutionQueueToTreat.CONSTRAIN1_GLOBAL;171 String const02_key = TestCaseExecutionQueueToTreat.CONSTRAIN2_APPLIENV + CONST_SEPARATOR + exe.getSystem() + CONST_SEPARATOR + exe.getEnvironment() + CONST_SEPARATOR + exe.getCountry() + CONST_SEPARATOR + exe.getApplication();172 String const03_key = TestCaseExecutionQueueToTreat.CONSTRAIN3_APPLICATION + CONST_SEPARATOR + exe.getApplication();173 String const04_key = TestCaseExecutionQueueToTreat.CONSTRAIN4_ROBOT + CONST_SEPARATOR + exe.getQueueRobotHost();174 if (constrains_current.containsKey(const01_key)) {175 constrains_current.put(const01_key, constrains_current.get(const01_key) + 1);176 } else {177 constrains_current.put(const01_key, 1);178 }179 if (constrains_current.containsKey(const02_key)) {180 constrains_current.put(const02_key, constrains_current.get(const02_key) + 1);181 } else {182 constrains_current.put(const02_key, 1);183 }184 if (constrains_current.containsKey(const03_key)) {185 constrains_current.put(const03_key, constrains_current.get(const03_key) + 1);186 } else {187 constrains_current.put(const03_key, 1);188 }189 if (constrains_current.containsKey(const04_key)) {190 constrains_current.put(const04_key, constrains_current.get(const04_key) + 1);191 } else {192 constrains_current.put(const04_key, 1);193 }194 }195 return constrains_current;196 }197 /**198 * {@inheritDoc}199 */200 @Override201 public void executeNextInQueue(boolean forceExecution) throws CerberusException {202 if (!instanceActive) {203 LOG.warn("Queue execution disable on that JVM instance.");204 return;205 }206 // Job can be desactivated by parameter.207 if (!(parameterService.getParameterBooleanByKey("cerberus_queueexecution_enable", "", true))) {208 LOG.debug("Queue_Processing_Job disabled by parameter : 'cerberus_queueexecution_enable'.");209 return;210 }211 // We first check that another thread of Cerberus already trigger the job. Only 1 instance of the job is necessary.212 if (!(myVersionService.getMyVersionStringByKey("queueprocessingjobrunning", "N").equals("Y"))213 || forceExecution) {214 // Flag in database that job is already running.215 if (myVersionService.flagMyVersionString("queueprocessingjobrunning") || forceExecution) {216 // Saving the timestamps when the job start in database.217 myVersionService.updateMyVersionString("queueprocessingjobstart", String.valueOf(new Date()));218 if (forceExecution) {219 LOG.debug("Forcing Start of Queue_Processing_Job.");220 }221 int nbqueuedexe = 0;222 // We try to submit new jobs until the job does not trigger any new execution.223 // In Other Words : As long as the job trigger new execution, we execute it.224 do {225 if (!(parameterService.getParameterBooleanByKey("cerberus_queueexecution_enable", "", true))) {226 LOG.debug("Queue_Processing_Job disabled by parameter : 'cerberus_queueexecution_enable'.");227 return;228 }229 nbqueuedexe = 0;230 // Job is not already running, we can trigger it.231 LOG.debug("Starting Queue_Processing_Job.");232 // Getting all executions to be treated.233 AnswerList<TestCaseExecutionQueueToTreat> answer = new AnswerList<>();234 answer = tceiqService.readQueueToTreat();235 List<TestCaseExecutionQueueToTreat> executionsInQueue = answer.getDataList();236 int poolSizeGeneral = 12;237 int poolSizeRobot = 10;238 int queueTimeout = 600000;239 // Init constrain counter (from list of already running execution.).240 int const01_current = 0;241 int const02_current = 0;242 int const03_current = 0;243 int const04_current = 0;244 HashMap<String, Integer> constrains_current = new HashMap<>();245 HashMap<String, Integer> robothost_poolsize = new HashMap<>();246 HashMap<String, List<RobotExecutor>> robot_executor = new HashMap<>();247 HashMap<String, Robot> robot_header = new HashMap<>();248 if (!executionsInQueue.isEmpty()) {249 poolSizeGeneral = parameterService.getParameterIntegerByKey("cerberus_queueexecution_global_threadpoolsize", "", 12);250 poolSizeRobot = parameterService.getParameterIntegerByKey("cerberus_queueexecution_defaultrobothost_threadpoolsize", "", 10);251 queueTimeout = parameterService.getParameterIntegerByKey("cerberus_queueexecution_timeout", "", 600000);252 // Init constrain counter (from list of already running execution.).253 const01_current = 0;254 const02_current = 0;255 const03_current = 0;256 const04_current = 0;257 constrains_current = getCurrentlyRunning();258 LOG.debug("Current Constrains : " + constrains_current);259 // Getting RobotHost PoolSize260 robothost_poolsize = invariantService.readToHashMapGp1IntegerByIdname("ROBOTHOST", poolSizeRobot);261 // Getting the list of robot in scope of the queue entries. This is to avoid getting all robots from database.262 LOG.debug("Getting List of Robot Executor.");263 for (TestCaseExecutionQueueToTreat exe : executionsInQueue) {264 if (!StringUtil.isNullOrEmpty(exe.getQueueRobot())) {265 robot_executor.put(exe.getQueueRobot(), new ArrayList<>());266 }267 }268 LOG.debug("List of Robot from Queue entries : " + robot_executor);269 robot_executor = robotExecutorService.getExecutorListFromRobotHash(robot_executor);270 LOG.debug("Robot Executor List : " + robot_executor);271 LOG.debug("Getting List of Robot (Header).");272 List<String> listRobotS = new ArrayList<>();273 for (Map.Entry<String, List<RobotExecutor>> entry : robot_executor.entrySet()) {274 String key = entry.getKey();275 listRobotS.add(key);276 }277 robot_header = robotService.readToHashMapByRobotList(listRobotS);278 LOG.debug("Robot Header List : " + robot_header);279 }280 String robot = "";281 String robotExecutor = "";282 String robotHost = "";283 String robotPort = "";284 String appType = "";285 List<RobotExecutor> tmpExelist = new ArrayList<>();286 List<RobotExecutor> newTmpExelist = new ArrayList<>();287 // Analysing each execution in the database queue.288 for (TestCaseExecutionQueueToTreat exe : executionsInQueue) {289 LOG.debug("Starting analysing : " + exe.getId());290 String notTriggeredExeMessage = "";291 boolean triggerExe = false;292 robot = exe.getQueueRobot();293 // Getting here the list of possible executor sorted by prio.294 List<RobotExecutor> exelist = new ArrayList<>();295 appType = exe.getAppType();296 if ((appType.equals(Application.TYPE_APK)) || (appType.equals(Application.TYPE_GUI)) || (appType.equals(Application.TYPE_FAT)) || (appType.equals(Application.TYPE_IPA))) {297 // Application require a robot so we can get the list of executors.298 if (StringUtil.isNullOrEmpty(robot)) {299 exelist = new ArrayList<>();300 exelist.add(factoryRobotExecutor.create(0, "", "", "Y", 1, exe.getQueueRobotHost(), exe.getQueueRobotPort(), "", "", "", "", null, "", 0, "", 0, "", "", "", null, "", null));301 } else {302 exelist = robot_executor.get(robot);303 if (exelist == null || exelist.size() < 1) {304 exelist = new ArrayList<>();305 exelist.add(factoryRobotExecutor.create(0, "", "", "Y", 1, "", "", "", "", "", "", null, "", 0, "", 0, "", "", "", null, "", null));306 }307 }308 } else {309 // Application does not require a robot so we create a fake one with empty data.310 exelist = new ArrayList<>();311 exelist.add(factoryRobotExecutor.create(0, "", "", "Y", 1, "", "", "", "", "", "", null, "", 0, "", 0, "", "", "", null, "", null));312 }313 // Looping other every potential executor on the corresponding robot.314 for (RobotExecutor robotExecutor1 : exelist) {...

Full Screen

Full Screen

getQueueRobotHost

Using AI Code Generation

copy

Full Screen

1package org.cerberus.engine.queuemanagement.entity;2import org.cerberus.crud.entity.Application;3import org.cerberus.crud.entity.CountryEnvironmentDatabase;4import org.cerberus.crud.entity.TestCaseExecution;5import org.cerberus.crud.entity.TestCaseExecutionQueue;6import org.cerberus.crud.entity.TestCaseStepActionExecution;7import org.cerberus.util.StringUtil;8import org.json.JSONArray;9import org.json.JSONException;10import org.json.JSONObject;11import java.util.List;12public class TestCaseExecutionQueueToTreat {13 private TestCaseExecutionQueue testCaseExecutionQueue;14 private TestCaseExecution testCaseExecution;15 private List<TestCaseStepActionExecution> testCaseStepActionExecutionList;16 private CountryEnvironmentDatabase countryEnvironmentDatabase;17 private Application application;18 private String robotHost;19 private String robotPort;20 private String robotPlatform;21 private String robotBrowser;22 private String robotVersion;23 private String robotBrowserSize;24 private String robotProxyHost;25 private String robotProxyPort;26 private String robotProxyCountry;27 private String robotProxyIP;28 private String robotProxyLogin;29 private String robotProxyPassword;30 private String robotProxyProtocol;31 private String robotProxyUrl;32 private String robotProxyUrlExclusion;33 private String robotOutputFormat;34 private String robotOutputFolder;35 private String robotOutputFile;36 private String robotOutputVideo;37 private String robotOutputVideoFolder;38 private String robotOutputVideoFile;39 private String robotOutputVideoSize;40 private String robotOutputVideoFPS;41 private String robotOutputVideoCodec;42 private String robotOutputLog;43 private String robotOutputLogFolder;44 private String robotOutputLogFile;45 private String robotOutputLogHTML;46 private String robotOutputLogHTMLFolder;47 private String robotOutputLogHTMLFile;48 private String robotOutputLogJSON;49 private String robotOutputLogJSONFolder;50 private String robotOutputLogJSONFile;51 private String robotOutputLogXML;52 private String robotOutputLogXMLFolder;53 private String robotOutputLogXMLFile;54 private String robotOutputLogXUnit;55 private String robotOutputLogXUnitFolder;56 private String robotOutputLogXUnitFile;

Full Screen

Full Screen

Automation Testing Tutorials

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.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful