Best SeLion code snippet using com.paypal.selion.internal.reports.excelreport.TestCaseResult.TestCaseResult
Source:ExcelReport.java
...65 private final List<SummarizedData> lSuites = new ArrayList<SummarizedData>();66 private final List<SummarizedData> lTests = new ArrayList<SummarizedData>();67 private final List<SummarizedData> lGroups = new ArrayList<SummarizedData>();68 private final List<SummarizedData> lClasses = new ArrayList<SummarizedData>();69 private final List<TestCaseResult> allTestsResults = new ArrayList<TestCaseResult>();70 private final List<List<String>> tcFailedData = new ArrayList<List<String>>();71 private final List<List<String>> tcPassedData = new ArrayList<List<String>>();72 private final List<List<String>> tcSkippedData = new ArrayList<List<String>>();73 private final List<List<String>> tcDefectData = new ArrayList<List<String>>();74 private final List<List<String>> tcOutputData = new ArrayList<List<String>>();75 private final Map<String, SummarizedData> mpGroupClassData = new HashMap<String, SummarizedData>();76 private static List<ReportMap<?>> fullReportMap = new ArrayList<ReportMap<?>>();77 public ExcelReport() {78 // Register this listener with the ListenerManager; disabled by default when not defined in VM argument.79 ListenerManager.registerListener(new ListenerInfo(this.getClass(), ENABLE_EXCEL_REPORTER_LISTENER, false));80 }81 /**82 * The first method that gets called when generating the report. Generates data in way the Excel should appear.83 * Creates the Excel Report and writes it to a file.84 */85 public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, String sOpDirectory) {86 logger.entering(new Object[] { xmlSuites, suites, sOpDirectory });87 if (ListenerManager.isCurrentMethodSkipped(this)) {88 logger.exiting(ListenerManager.THREAD_EXCLUSION_MSG);89 return;90 }91 if (logger.isLoggable(Level.INFO)) {92 logger.log(Level.INFO, "Generating ExcelReport");93 }94 TestCaseResult.setOutputDirectory(sOpDirectory);95 // Generate data to suit excel report.96 this.generateSummaryData(suites);97 this.generateTCBasedData(allTestsResults);98 // Create the Excel Report99 this.createExcelReport();100 // Render the report101 Path p = Paths.get(sOpDirectory, reportFileName);102 try {103 Path opDirectory = Paths.get(sOpDirectory);104 if (!Files.exists(opDirectory)) {105 Files.createDirectories(Paths.get(sOpDirectory));106 }107 FileOutputStream fOut = new FileOutputStream(p.toFile());108 wb.write(fOut);109 fOut.flush();110 } catch (IOException e) {111 logger.log(Level.SEVERE, e.getMessage(), e);112 }113 if (logger.isLoggable(Level.INFO)) {114 logger.log(Level.INFO, "Excel File Created @ " + p.toAbsolutePath().toString());115 }116 }117 /**118 * Sets the output file name for the Excel Report. The file should have 'xls' extension.119 * 120 * @param fileName121 * The file name without any path.122 */123 public void setExcelFileName(String fileName) {124 Preconditions.checkArgument(StringUtils.endsWith(fileName, ".xls"), "Excel file name must end with '.xls'.");125 reportFileName = fileName;126 }127 /**128 * Initialized styles used in the workbook. Generates the report related info. Creates the structure of the Excel129 * Reports130 */131 @SuppressWarnings("rawtypes")132 private void createExcelReport() {133 logger.entering();134 wb = new HSSFWorkbook();135 Styles.initStyles(wb);136 // Report Details137 this.createReportInfo();138 // Map of sheet names - individual reports and corresponding data139 this.createReportMap();140 // Render reports in the Workbook141 for (ReportMap rm : fullReportMap) {142 List<BaseReport<?>> allReports = rm.getGeneratedReport();143 allReports.iterator().next().generateRep(this.wb, rm.getName(), rm.getGeneratedReport());144 }145 logger.exiting();146 }147 /**148 * Create Run details like owner of run, time and stage used.149 */150 private void createReportInfo() {151 logger.entering();152 HSSFSheet summarySheet = wb.createSheet(ReportSheetNames.TESTSUMMARYREPORT.getName());153 Map<String, String> reportInfo = new LinkedHashMap<String, String>();154 for (Entry<String, String> temp : ConfigSummaryData.getConfigSummary().entrySet()) {155 reportInfo.put(temp.getKey(), temp.getValue());156 }157 int rowNum = 0;158 HSSFCell col;159 HSSFRow row;160 for (Entry<String, String> eachReportInfo : reportInfo.entrySet()) {161 int colNum = 2;162 row = summarySheet.createRow(rowNum++);163 col = row.createCell(colNum);164 col.setCellStyle(Styles.getSubHeading2Style());165 col.setCellValue(eachReportInfo.getKey());166 // Next column holds the values167 col = row.createCell(++colNum);168 col.setCellStyle(Styles.getThinBorderStyle());169 col.setCellValue(eachReportInfo.getValue());170 }171 logger.exiting();172 }173 /**174 * Creates all the report details like which sheet should contain which report and the data associated with the175 * report176 */177 private void createReportMap() {178 logger.entering();179 // Summary Report180 Map<String, List<SummarizedData>> subReportMap = new LinkedHashMap<String, List<SummarizedData>>();181 subReportMap.put("Full Suite Summary", lSuites);182 subReportMap.put("Test Summary", lTests);183 subReportMap.put("Classwise Summary", lClasses);184 subReportMap.put("Groupwise Summary", lGroups);185 ReportMap<SummarizedData> testSummaryReport = new ReportMap<SummarizedData>(186 ReportSheetNames.TESTSUMMARYREPORT.getName(), subReportMap, 0);187 fullReportMap.add(testSummaryReport);188 // Group Detailed Report189 List<SummarizedData> groupsClone = new ArrayList<SummarizedData>(lGroups);190 List<SummarizedData> classData;191 SummarizedData naGroupData = new SummarizedData();192 naGroupData.setsName(TestCaseResult.NA);193 groupsClone.add(naGroupData);194 subReportMap = new LinkedHashMap<String, List<SummarizedData>>();195 for (SummarizedData group : groupsClone) {196 String sGroupName = group.getsName();197 classData = new ArrayList<SummarizedData>();198 for (String sGroupClassName : mpGroupClassData.keySet()) {199 if (sGroupClassName.substring(0, sGroupName.length()).equals(sGroupName)) {200 classData.add(mpGroupClassData.get(sGroupClassName));201 }202 }203 subReportMap.put(sGroupName, classData);204 }205 ReportMap<SummarizedData> secondReport = new ReportMap<SummarizedData>(206 ReportSheetNames.GROUPSUMMARYREPORT.getName(), subReportMap, 0);207 fullReportMap.add(secondReport);208 // TestCase Status Report209 Map<String, List<List<String>>> subDetailReportMap = new LinkedHashMap<String, List<List<String>>>();210 subDetailReportMap.put("Passed TC List", tcPassedData);211 subDetailReportMap.put("Failed TC List", tcFailedData);212 subDetailReportMap.put("Skipped TC List", tcSkippedData);213 ReportMap<List<String>> thirdReport = new ReportMap<List<String>>(ReportSheetNames.TESTCASEREPORT.getName(),214 subDetailReportMap, 1);215 fullReportMap.add(thirdReport);216 // Defect Report217 Map<String, List<List<String>>> lstDefectReports = new LinkedHashMap<String, List<List<String>>>();218 lstDefectReports.put("Defect Summary", tcDefectData);219 ReportMap<List<String>> fourthReport = new ReportMap<List<String>>(ReportSheetNames.DEFECTREPORT.getName(),220 lstDefectReports, 1);221 fullReportMap.add(fourthReport);222 // Changing the titles of the Defect Report223 BaseReport<List<String>> bR = (BaseReport<List<String>>) fullReportMap.get(fullReportMap.size() - 1)224 .getGeneratedReport().iterator().next();225 List<String> lsTitles = Arrays.asList("Class Name", "Method/Testcase id", "Test Description",226 "Group[s]", "Time taken", "Output Logs", "Error Message", "Error Details");227 bR.setColTitles(lsTitles);228 // TestCase Output Details Report229 Map<String, List<List<String>>> fifthTestOutputSubReportMap = new LinkedHashMap<String, List<List<String>>>();230 fifthTestOutputSubReportMap.put("Test Output", tcOutputData);231 ReportMap<List<String>> fifthReportSheet = new ReportMap<List<String>>(232 ReportSheetNames.TESTOUTPUTDETAILSREPORT.getName(),233 fifthTestOutputSubReportMap, 2);234 fullReportMap.add(fifthReportSheet);235 logger.exiting();236 }237 /**238 * Generates all summarized counts for various reports239 * 240 * @param suites241 * the {@link List} of {@link ISuite}242 */243 private void generateSummaryData(List<ISuite> suites) {244 logger.entering(suites);245 SummarizedData tempSuite;246 SummarizedData tempTest;247 SummarizedData tempGroups;248 this.generateTestCaseResultData(suites);249 // Generating Group Summary data250 for (ISuite suite : suites) {251 tempSuite = new SummarizedData();252 tempSuite.setsName(suite.getName());253 Map<String, ISuiteResult> allResults = suite.getResults();254 for (Entry<String, Collection<ITestNGMethod>> sGroupName : suite.getMethodsByGroups().entrySet()) {255 tempGroups = new SummarizedData();256 tempGroups.setsName(sGroupName.getKey());257 tempGroups.incrementiTotal(sGroupName.getValue().size());258 for (TestCaseResult tr : allTestsResults) {259 if (tr.getGroup().contains(sGroupName.getKey())) {260 tempGroups.incrementCount(tr.getStatus());261 tempGroups.incrementDuration(tr.getDurationTaken());262 }263 }264 tempGroups.setiTotal(tempGroups.getiPassedCount() + tempGroups.getiFailedCount()265 + tempGroups.getiSkippedCount());266 lGroups.add(tempGroups);267 }268 // Generating Test summary data269 for (ISuiteResult testResult : allResults.values()) {270 ITestContext testContext = testResult.getTestContext();271 tempTest = new SummarizedData();272 tempTest.setsName(testContext.getName());273 tempTest.setiFailedCount(testContext.getFailedTests().size());274 tempTest.setiPassedCount(testContext.getPassedTests().size());275 tempTest.setiSkippedCount(testContext.getSkippedTests().size());276 tempTest.setiTotal(tempTest.getiPassedCount() + tempTest.getiFailedCount()277 + tempTest.getiSkippedCount());278 tempTest.setlRuntime(testContext.getEndDate().getTime() - testContext.getStartDate().getTime());279 lTests.add(tempTest);280 }281 // Generating Suite Summary data282 for (SummarizedData test : lTests) {283 tempSuite.setiPassedCount(test.getiPassedCount() + tempSuite.getiPassedCount());284 tempSuite.setiFailedCount(test.getiFailedCount() + tempSuite.getiFailedCount());285 tempSuite.setiSkippedCount(tempSuite.getiSkippedCount() + test.getiSkippedCount());286 tempSuite.setiTotal(tempSuite.getiPassedCount() + tempSuite.getiFailedCount()287 + tempSuite.getiSkippedCount());288 tempSuite.setlRuntime(test.getlRuntime() + tempSuite.getlRuntime());289 }290 lSuites.add(tempSuite);291 }292 Collections.sort(lGroups);293 Collections.sort(lTests);294 logger.exiting();295 }296 /**297 * Method to generate array of all results of all testcases that were run in a suite Output : Populates the298 * allTestsResults arraylist with results and info for all test methods.299 */300 private void generateTestCaseResultData(List<ISuite> suites) {301 logger.entering();302 for (ISuite suite : suites) {303 Map<String, ISuiteResult> allResults = suite.getResults();304 for (ISuiteResult testResult : allResults.values()) {305 ITestContext testContext = testResult.getTestContext();306 IResultMap passedResultMap = testContext.getPassedTests();307 IResultMap failedResultMap = testContext.getFailedTests();308 IResultMap skippedResultMap = testContext.getSkippedTests();309 this.allTestsResults.addAll(this.createResultFromMap(passedResultMap));310 this.allTestsResults.addAll(this.createResultFromMap(failedResultMap));311 this.allTestsResults.addAll(this.createResultFromMap(skippedResultMap));312 }313 }314 logger.exiting();315 }316 /**317 * Generates individual TestCase Results based on map of passed, failed and skipped methods Returns the list of318 * TestCaseResult objects generated.319 */320 private List<TestCaseResult> createResultFromMap(IResultMap resultMap) {321 logger.entering(resultMap);322 List<TestCaseResult> statusWiseResults = new ArrayList<TestCaseResult>();323 for (ITestResult singleMethodResult : resultMap.getAllResults()) {324 TestCaseResult tcresult1 = new TestCaseResult();325 tcresult1.setITestResultobj(singleMethodResult);326 statusWiseResults.add(tcresult1);327 }328 Collections.sort(statusWiseResults);329 logger.exiting(statusWiseResults);330 return statusWiseResults;331 }332 /**333 * Generates class based summary and the basis for Detailed group-wise summary report334 */335 private void generateTCBasedData(List<TestCaseResult> allTestsList) {336 logger.entering(allTestsList);337 SummarizedData tempClass;338 SummarizedData tempGroupClass;339 Map<String, SummarizedData> mpClassData = new HashMap<String, SummarizedData>();340 int outputSheetRowCounter = 3;341 for (TestCaseResult tcResult : allTestsList) {342 // Segregating for class data343 String sTempClassName = tcResult.getClassName();344 // If class not already added to Class data, then create new ClassObject exists345 if (!mpClassData.containsKey(sTempClassName)) {346 tempClass = new SummarizedData();347 tempClass.setsName(sTempClassName);348 } else {349 tempClass = mpClassData.get(sTempClassName);350 }351 // Adding test to total count352 tempClass.incrementiTotal();353 // Adding all groups to map354 for (String sGroup : tcResult.getGroup()) {355 // Forming a key for the GroupClass map which is <GroupName><ClassName>...
TestCaseResult
Using AI Code Generation
1TestCaseResult testCaseResult = TestCaseResult.getTestCaseResult("Test Name");2TestCaseResult testCaseResult = TestCaseResult.getTestCaseResult("Test Name", "Test Suite Name");3TestCaseResult testCaseResult = TestCaseResult.getTestCaseResult("Test Name", "Test Suite Name", "Test Suite Version");4TestCaseResult testCaseResult = TestCaseResult.getTestCaseResult("Test Name", "Test Suite Name", "Test Suite Version", "Test Suite Build");5TestCaseResult testCaseResult = TestCaseResult.getTestCaseResult("Test Name", "Test Suite Name", "Test Suite Version", "Test Suite Build", "Test Suite Platform");6TestCaseResult testCaseResult = TestCaseResult.getTestCaseResult("Test Name", "Test Suite Name", "Test Suite Version", "Test Suite Build", "Test Suite Platform", "Test Suite Language");7TestCaseResult testCaseResult = TestCaseResult.getTestCaseResult("Test Name", "Test Suite Name", "Test Suite Version", "Test Suite Build", "Test Suite Platform", "Test Suite Language", "Test Suite Host");8TestCaseResult testCaseResult = TestCaseResult.getTestCaseResult("Test Name", "Test Suite Name", "Test Suite Version", "Test Suite Build", "
TestCaseResult
Using AI Code Generation
1String testCaseName = "testcaseName";2String testCaseResult = TestCaseResult.getTestCaseResult(testCaseName);3String testName = "testName";4String testResult = TestResult.getTestResult(testName);5String testSuiteName = "testSuiteName";6String testSuiteResult = TestSuiteResult.getTestSuiteResult(testSuiteName);7String testMethodName = "testMethodName";8String testMethodResult = TestMethodResult.getTestMethodResult(testMethodName);9String testMethodName = "testMethodName";10String testMethodResult = TestMethodResult.getTestMethodResult(testMethodName);11String testMethodName = "testMethodName";12String testMethodResult = TestMethodResult.getTestMethodResult(testMethodName);13String testMethodName = "testMethodName";14String testMethodResult = TestMethodResult.getTestMethodResult(testMethodName);15String testMethodName = "testMethodName";16String testMethodResult = TestMethodResult.getTestMethodResult(testMethodName);17String testMethodName = "testMethodName";18String testMethodResult = TestMethodResult.getTestMethodResult(testMethodName);19String testMethodName = "testMethodName";
TestCaseResult
Using AI Code Generation
1String testCaseName = TestCaseResult.getTestCaseName();2String testCaseName = TestCaseResult.getTestCaseName();3String testCaseName = TestCaseResult.getTestCaseName();4String testCaseName = TestCaseResult.getTestCaseName();5String testCaseName = TestCaseResult.getTestCaseName();6String testCaseName = TestCaseResult.getTestCaseName();7String testCaseName = TestCaseResult.getTestCaseName();8String testCaseName = TestCaseResult.getTestCaseName();
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!!