How to use generateTCBasedData method of com.paypal.selion.internal.reports.excelreport.ExcelReport class

Best SeLion code snippet using com.paypal.selion.internal.reports.excelreport.ExcelReport.generateTCBasedData

Source:ExcelReport.java Github

copy

Full Screen

...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);...

Full Screen

Full Screen

generateTCBasedData

Using AI Code Generation

copy

Full Screen

1import com.paypal.selion.internal.reports.excelreport.ExcelReport;2import com.paypal.selion.internal.reports.excelreport.ExcelReportFactory;3import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper;4import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper.ExcelReportType;5import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper.ReportType;6import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper.TestType;7import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper.TestngReportType;8import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper.TestngReportType.TestngReportTypeValue;9import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper.TestngReportType.TestngReportTypeValue.TestngReportTypeValueValue;10import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper.TestngReportType.TestngReportTypeValue.TestngReportTypeValueValue.TestngReportTypeValueValueValue;11import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper.TestngReportType.TestngReportTypeValue.TestngReportTypeValueValue.TestngReportTypeValueValueValue.TestngReportTypeValueValueValueValue;12import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper.TestngReportType.TestngReportTypeValue.TestngReportTypeValueValue.TestngReportTypeValueValueValue.TestngReportTypeValueValueValueValue.TestngReportTypeValueValueValueValueValue;13import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper.TestngReportType.TestngReportTypeValue.TestngReportTypeValueValue.TestngReportTypeValueValueValue.TestngReportTypeValueValueValueValue.TestngReportTypeValueValueValueValueValue.TestngReportTypeValueValueValueValueValueValue;14import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper.TestngReportType.TestngReportTypeValue.TestngReportTypeValueValue.TestngReportTypeValueValueValue.TestngReportTypeValueValueValueValue.TestngReportTypeValueValueValueValueValue.TestngReportTypeValueValueValueValueValueValue.TestngReportTypeValueValueValueValueValueValueValue;15import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper.TestngReportType.TestngReportTypeValue.TestngReportTypeValueValue.TestngReportTypeValueValueValue.TestngReport

Full Screen

Full Screen

generateTCBasedData

Using AI Code Generation

copy

Full Screen

1import com.paypal.selion.internal.reports.excelreport.ExcelReport;2import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper;3import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper.ExcelReportData;4import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper.ExcelReportData.ExcelReportDataHelper;5import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper.ExcelReportData.ExcelReportDataHelper.ExcelReportDataHelperBuilder;6import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper.ExcelReportData.ExcelReportDataHelper.ExcelReportDataHelperBuilder.ExcelReportDataHelperBuilderWithTestName;7import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper.ExcelReportData.ExcelReportDataHelper.ExcelReportDataHelperBuilder.ExcelReportDataHelperBuilderWithTestName.ExcelReportDataHelperBuilderWithTestNameAndTestStatus;8import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper.ExcelReportData.ExcelReportDataHelper.ExcelReportDataHelperBuilder.ExcelReportDataHelperBuilderWithTestName.ExcelReportDataHelperBuilderWithTestNameAndTestStatus.ExcelReportDataHelperBuilderWithTestNameAndTestStatusAndTestStartTime;9import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper.ExcelReportData.ExcelReportDataHelper.ExcelReportDataHelperBuilder.ExcelReportDataHelperBuilderWithTestName.ExcelReportDataHelperBuilderWithTestNameAndTestStatus.ExcelReportDataHelperBuilderWithTestNameAndTestStatusAndTestStartTime.ExcelReportDataHelperBuilderWithTestNameAndTestStatusAndTestStartTimeAndTestEndTime;10import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper.ExcelReportData.ExcelReportDataHelper.ExcelReportDataHelperBuilder.ExcelReportDataHelperBuilderWithTestName.ExcelReportDataHelperBuilderWithTestNameAndTestStatus.ExcelReportDataHelperBuilderWithTestNameAndTestStatusAndTestStartTime.ExcelReportDataHelperBuilderWithTestNameAndTestStatusAndTestStartTimeAndTestEndTime.ExcelReportDataHelperBuilderWithTestNameAndTestStatusAndTestStartTimeAndTestEndTimeAndTestParameters;11import com.paypal.selion.internal.reports.excelreport.ExcelReportHelper.ExcelReportData.ExcelReportDataHelper.ExcelReportDataHelperBuilder.ExcelReportDataHelperBuilderWithTestName.ExcelReportDataHelperBuilderWithTestNameAndTestStatus.ExcelReportDataHelperBuilderWithTestName

Full Screen

Full Screen

generateTCBasedData

Using AI Code Generation

copy

Full Screen

1import com.paypal.selion.internal.reports.excelreport.ExcelReport;2import com.paypal.selion.reports.reporter.SeLionReporter;3import com.paypal.selion.reports.reporter.SeLionReporter.*;4import com.paypal.selion.reports.reporter.SeLionReporter.logMessage;5import com.paypal.selion.reports.reporter.SeLionReporter.logLevel;6import com.paypal.selion.reports.reporter.SeLionReporter.logMessageType;7import com.paypal.selion.reports.reporter.SeLionReporter.logMessageColor;8import com.paypal.selion.reports.reporter.SeLionReporter.logMessageStyle;9import com.paypal.selion.reports.reporter.SeLionReporter.logMessageFont;10import com.paypal.selion.reports.reporter.SeLionReporter.logMessageSize;11import com.paypal.selion.reports.reporter.SeLionReporter.logMessageAlign;12import com.paypal.selion.reports.reporter.SeLionReporter.logMessageVerticalAlign;13import com.paypal.selion.reports.reporter.SeLionReporter.logMessageFormat;14import com.paypal.selion.reports.reporter.SeLionReporter.logMessageImage;15import com.paypal.selion.reports.reporter.SeLionReporter.logMessageImagePosition;16import com.paypal.selion.reports.reporter.SeLionReporter.logMessageImageSize;17import com.paypal.selion.reports.reporter.SeLionReporter.logMessageImageAlign;18import com.paypal.selion.reports.reporter.SeLionReporter.logMessageImageVerticalAlign;19import com.paypal.selion.reports.reporter.SeLionReporter.logMessageImageFormat;20import com.paypal.selion.reports.reporter.SeLionReporter.logMessageImageBorder;21import com.paypal.selion.reports.reporter.SeLionReporter.logMessageImageBorderColor;22import com.paypal.selion.reports.reporter.SeLionReporter.logMessageImageBorderThickness;23import com.paypal.selion.reports.reporter.SeLionReporter.logMessageImageBorderType;24import com.paypal.selion.reports.reporter.SeLionReporter.logMessageImageBorderRadius;25import com.paypal.selion.reports.reporter.SeLionReporter.logMessageImageBackground;26import com.paypal.selion.reports.reporter.SeLionReporter.logMessageImageBackground

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.

Run SeLion automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful