类org.testng.ISuite源码实例Demo

下面列出了怎么用org.testng.ISuite的API类实例代码及写法,或者点击链接到github查看源代码。

@Override
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, String outputDirectory) {
    ExtentService.getInstance().setReportUsesManualConfiguration(true);
    ExtentService.getInstance().setAnalysisStrategy(AnalysisStrategy.SUITE);

    for (ISuite suite : suites) {
        Map<String, ISuiteResult> result = suite.getResults();

        for (ISuiteResult r : result.values()) {
            ITestContext context = r.getTestContext();

            ExtentTest suiteTest = ExtentService.getInstance().createTest(r.getTestContext().getSuite().getName());
            buildTestNodes(suiteTest, context.getFailedTests(), Status.FAIL);
            buildTestNodes(suiteTest, context.getSkippedTests(), Status.SKIP);
            buildTestNodes(suiteTest, context.getPassedTests(), Status.PASS);
        }
    }

    for (String s : Reporter.getOutput()) {
        ExtentService.getInstance().setTestRunnerOutput(s);
    }

    ExtentService.getInstance().flush();
}
 
@Override
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, String outputDirectory) {
    ExtentService.getInstance().setReportUsesManualConfiguration(true);
    ExtentService.getInstance().setAnalysisStrategy(AnalysisStrategy.SUITE);

    for (ISuite suite : suites) {
        Map<String, ISuiteResult> result = suite.getResults();

        for (ISuiteResult r : result.values()) {
            ITestContext context = r.getTestContext();

            ExtentTest suiteTest = ExtentService.getInstance().createTest(r.getTestContext().getSuite().getName());
            buildTestNodes(suiteTest, context.getFailedTests(), Status.FAIL);
            buildTestNodes(suiteTest, context.getSkippedTests(), Status.SKIP);
            buildTestNodes(suiteTest, context.getPassedTests(), Status.PASS);
        }
    }

    for (String s : Reporter.getOutput()) {
        ExtentService.getInstance().setTestRunnerOutput(s);
    }

    ExtentService.getInstance().flush();
}
 
/** Creates a section showing known results for each method */
protected void generateMethodDetailReport(List<ISuite> suites) {
	for (ISuite suite : suites) {
		Map<String, ISuiteResult> r = suite.getResults();
		for (ISuiteResult r2 : r.values()) {
			ITestContext testContext = r2.getTestContext();
			if (r.values().size() > 0) {
				m_out.println("<h1>" + testContext.getName() + "</h1>");
			}
			resultDetail(testContext.getFailedConfigurations());
			resultDetail(testContext.getFailedTests());
			resultDetail(testContext.getSkippedConfigurations());
			resultDetail(testContext.getSkippedTests());
			resultDetail(testContext.getPassedTests());
		}
	}
}
 
源代码4 项目: ats-framework   文件: AtsTestngListener.java
@Override
public void onFinish( ISuite suite ) {

    if (IS_TRACE_ENABLED) {
        ATS_LOGGER.log(this.hashCode() + ": End run event received", new Exception("Debugging trace"));
    }

    if (!ActiveDbAppender.isAttached) {
        return;
    }

    if (currentSuiteName != null) {

        endSuite();
    }

    // end the run
    logger.endRun();

}
 
源代码5 项目: ats-framework   文件: AtsReportListener.java
@Override
public void generateReport(
                            List<XmlSuite> arg0,
                            List<ISuite> arg1,
                            String arg2 ) {

    //we just need the report format, that why we set other fields null
    ReportFormatter reportFormatter = new ReportFormatter(ReportAppender.getRuns(),
                                                          mailSubjectFormat,
                                                          null,
                                                          null,
                                                          0,
                                                          null);
    // send report by mail
    MailReportSender mailReportSender = new MailReportSender(reportFormatter.getDescription(),
                                                             reportFormatter.toHtml());
    mailReportSender.send();

}
 
源代码6 项目: difido-reports   文件: RemoteDifidoReporter.java
/**
 * Event for end of suite
 * 
 * @param suite
 */
@Override
public void onFinish(ISuite suite) {
	// TODO: Find a place to call it.

	// We are not using shared execution, that means that we are the only
	// one that are using it and we just ended with it, so let's set it to
	// not active
	if (executionId > 0 && !difidoConfig.getPropertyAsBoolean(RemoteDifidoOptions.USE_SHARED_EXECUTION)) {
		try {
			client.endExecution(executionId);
		} catch (Exception e) {
			System.out.println("Failed to close execution with id " + executionId);
		}
		executionId = -1;
	}

}
 
源代码7 项目: difido-reports   文件: RemoteDifidoReporter.java
public void onStart(ISuite suite) {
	super.onStart(suite);
	difidoConfig = new RemoteDifidoConfig();
	String host = null;
	int port = 0;
	try {
		enabled = Boolean.parseBoolean(difidoConfig.getPropertyAsString(RemoteDifidoOptions.ENABLED));
		if (!enabled) {
			return;
		}
		host = difidoConfig.getPropertyAsString(RemoteDifidoOptions.HOST);
		port = Integer.parseInt(difidoConfig.getPropertyAsString(RemoteDifidoOptions.PORT));
		client = new DifidoClient(host, port);
		executionId = prepareExecution();
		machineId = client.addMachine(executionId, getExecution().getLastMachine());
		enabled = true;
		log.fine(RemoteDifidoReporter.class.getName() + " was initialized successfully");
	} catch (Throwable t) {
		enabled = false;
		log.warning("Failed to init " + RemoteDifidoReporter.class.getName() + "connection with host '" + host + ":"
				+ port + "' due to " + t.getMessage());
	}

}
 
源代码8 项目: carina   文件: CarinaListener.java
protected void onHealthCheck(ISuite suite) {
    String healthCheckClass = Configuration.get(Parameter.HEALTH_CHECK_CLASS);
    if (suite.getParameter(Parameter.HEALTH_CHECK_CLASS.getKey()) != null) {
        // redefine by suite arguments as they have higher priority
        healthCheckClass = suite.getParameter(Parameter.HEALTH_CHECK_CLASS.getKey());
    }

    String healthCheckMethods = Configuration.get(Parameter.HEALTH_CHECK_METHODS);
    if (suite.getParameter(Parameter.HEALTH_CHECK_METHODS.getKey()) != null) {
        // redefine by suite arguments as they have higher priority
        healthCheckMethods = suite.getParameter(Parameter.HEALTH_CHECK_METHODS.getKey());
    }

    String[] healthCheckMethodsArray = null;
    if (!healthCheckMethods.isEmpty()) {
        healthCheckMethodsArray = healthCheckMethods.split(",");
    }
    checkHealth(suite, healthCheckClass, healthCheckMethodsArray);
}
 
源代码9 项目: pxf   文件: CustomAutomationReport.java
@Override
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, String outputDirectory) {

	StringBuilder sBuilder = new StringBuilder();

	// Iterating over each suite
	for (ISuite suite : suites) {

		// Getting the results for the each suite
		Map<String, ISuiteResult> suiteResults = suite.getResults();
		for (ISuiteResult sr : suiteResults.values()) {
			// get context for result
			ITestContext tc = sr.getTestContext();
			// go over all cases
			for (ITestNGMethod method : tc.getAllTestMethods()) {
				// if a case has "ExpectedFaiGPDBWritable.javalure" annotation, insert to sBuilder

				if (method.getConstructorOrMethod().getMethod().getAnnotation(ExpectedFailure.class) != null) {
					sBuilder.append(method.getInstance().getClass().getName() + "/" + method.getMethodName()).append(System.lineSeparator());
				}
			}
		}
	}

	// write results to file
	try {
		FileUtils.writeStringToFile(new File(outputDirectory + "/automation_expected_failures.txt"), sBuilder.toString(), false);
	} catch (IOException e) {
		e.printStackTrace();
	}
}
 
源代码10 项目: allure-java   文件: AllureTestNg.java
@Override
public void onStart(final ISuite suite) {
    final TestResultContainer result = new TestResultContainer()
            .setUuid(getUniqueUuid(suite))
            .setName(suite.getName())
            .setStart(System.currentTimeMillis());
    getLifecycle().startTestContainer(result);
}
 
源代码11 项目: allure-java   文件: AllureTestNg.java
@Override
public void onFinish(final ISuite suite) {
    final String uuid = getUniqueUuid(suite);
    getLifecycle().stopTestContainer(uuid);
    getLifecycle().writeTestContainer(uuid);

}
 
源代码12 项目: allure-java   文件: AllureTestNg.java
private void ifSuiteFixtureStarted(final ISuite suite, final ITestNGMethod testMethod) {
    if (testMethod.isBeforeSuiteConfiguration()) {
        startBefore(getUniqueUuid(suite), testMethod);
    }
    if (testMethod.isAfterSuiteConfiguration()) {
        startAfter(getUniqueUuid(suite), testMethod);
    }
}
 
/** Creates summary of the run */
@Override
public void generateReport(List<XmlSuite> xml, List<ISuite> suites, String outdir) {
	try {
		m_out = createWriter(outdir);
	} catch (IOException e) {
		L.error("output file", e);
		return;
	}
	ConfigUtil cr = ConfigUtil.getInstance();
	if (cr.getSrouceCodeEncoding() != null) {
		builder.setEncoding(cr.getSrouceCodeEncoding());
	} else {
		builder.setEncoding("UTF-8");
	}

	builder.addSourceTree(new File(cr.getSourceCodeDir()));
	startHtml(m_out);
	generateSuiteSummaryReport(suites);
	testIds.clear();
	generateMethodSummaryReport(suites);
	testIds.clear();
	generateMethodDetailReport(suites);
	testIds.clear();
	endHtml(m_out);
	m_out.flush();
	m_out.close();
}
 
/**
 * Creates a table showing the highlights of each test method with links to
 * the method details
 */
protected void generateMethodSummaryReport(List<ISuite> suites) {
	startResultSummaryTable("methodOverview");
	int testIndex = 1;
	for (ISuite suite : suites) {
		if (suites.size() > 1) {
			titleRow(suite.getName(), 5);
		}
		Map<String, ISuiteResult> r = suite.getResults();
		for (ISuiteResult r2 : r.values()) {
			ITestContext testContext = r2.getTestContext();
			String testName = testContext.getName();
			m_testIndex = testIndex;

			// resultSummary(suite, testContext.getSkippedConfigurations(),
			// testName, "skipped",
			// " (configuration methods)");
			resultSummary(suite, testContext.getSkippedTests(), testName, "skipped", "");
			// resultSummary(suite, testContext.getFailedConfigurations(),
			// testName, "failed",
			// " (configuration methods)");
			resultSummary(suite, testContext.getFailedTests(), testName, "failed", "");
			resultSummary(suite, testContext.getPassedTests(), testName, "passed", "");

			testIndex++;
		}
	}
	m_out.println("</table>");
}
 
/**
 * Get All tests id by class + method + parameters hash code.
 * 
 * @param context
 * @param suite
 */
private void getAllTestIds(ITestContext context, ISuite suite) {
	IResultMap passTests = context.getPassedTests();
	IResultMap failTests = context.getFailedTests();
	List<IInvokedMethod> invokedMethods = suite.getAllInvokedMethods();
	for (IInvokedMethod im : invokedMethods) {
		if (passTests.getAllMethods().contains(im.getTestMethod())
				|| failTests.getAllMethods().contains(im.getTestMethod())) {
			int testId = getId(im.getTestResult());
			// m_out.println("ALLtestid=" + testId);
			allRunTestIds.add(testId);
		}
	}
}
 
@Override
public void onStart(ISuite iSuite) {
    String logLevel = iSuite.getParameter(LOG_LEVEL_PARAM_NAME);
    if (StringUtils.isNotEmpty(logLevel)) {
        LogUtil.configureLogLevel(logLevel);
    }
}
 
源代码17 项目: PatatiumWebUi   文件: TestReport.java
@Override
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, String outputDirectory)
{
	List<ITestResult> list = new ArrayList<ITestResult>();
	for (ISuite suite : suites) {
		Map<String, ISuiteResult> suiteResults = suite.getResults();
		for (ISuiteResult suiteResult : suiteResults.values()) {
			ITestContext testContext = suiteResult.getTestContext();
			IResultMap passedTests = testContext.getPassedTests();
			IResultMap failedTests = testContext.getFailedTests();
			IResultMap skippedTests = testContext.getSkippedTests();
			IResultMap failedConfig = testContext.getFailedConfigurations();
			list.addAll(this.listTestResult(passedTests));
			list.addAll(this.listTestResult(failedTests));
			list.addAll(this.listTestResult(skippedTests));
			//list.addAll(this.listTestResult(failedConfig));
		}
	}
	CopyReportResources reportReource=new CopyReportResources();

	try {
		reportReource.copyResources();
	} catch (Exception e) {
		// TODO: handle exception
		e.printStackTrace();
	}
	this.sort(list);
	this.outputResult(list, outputDirectory+"/report.html");


}
 
源代码18 项目: SeleniumCucumber   文件: CucumberReport.java
@Override
public void onFinish(ISuite suite) {
	try {
		
		File jsonfile = new File("target/");
		File reportOutputDirectory = new File("target/test-classes/reports/cucumberreports/");
		
		String[] fileNames = jsonfile.list(new FilenameFilter() {
			
			@Override
			public boolean accept(File dir, String name) {
				if(name.endsWith(".json"))
					return true;
				return false;
			}
		});
		
		for (int i = 0; i < fileNames.length; i++) {
			fileNames[i] = jsonfile.getAbsolutePath() + "/" + fileNames[i];
		}
		
		List<String> jsonFiles = Arrays.asList(fileNames);

		Configuration configuration = new Configuration(reportOutputDirectory, suite.getName());
		configuration.setStatusFlags(true, true, true);

		ReportBuilder reportBuilder = new ReportBuilder(jsonFiles, configuration);
		reportBuilder.generateReports();
		oLog.info("Report Generated : " + configuration.getReportDirectory());

	} catch (Exception e) {
		oLog.equals(e);
	}
}
 
源代码19 项目: qaf   文件: TestRunnerFactory.java
@Override
public TestRunner newTestRunner(ISuite suite, XmlTest test, Collection<IInvokedMethodListener> listeners,
		List<IClassListener> classListeners) {
	TestRunner runner = null!=testRunnerFactory?testRunnerFactory.newTestRunner(suite, test, listeners, classListeners):
              new TestRunner(configuration, suite, test,
	                  false /*skipFailedInvocationCounts */,
	                  listeners,classListeners);;
	init(runner);
	return runner;
}
 
源代码20 项目: qaf   文件: QAFTestNGListener.java
public void onFinish(ISuite suite) {
	try {
		generateTestFailedXML(suite);
	} catch (Exception e) {
		logger.debug(e.getStackTrace());
		logger.info("Unable to create testng-failed-qas.xml");
	}
}
 
源代码21 项目: qaf   文件: QAFTestNGListener2.java
@Override
public void onStart(final ISuite suite) {
	if (skipReporting())
		return;
	super.onStart(suite);
	ReporterUtil.createMetaInfo(suite);
}
 
源代码22 项目: qaf   文件: QAFTestNGListener2.java
@Override
public void onFinish(ISuite suite) {
	if (skipReporting())
		return;
	super.onFinish(suite);
	logger.debug("onFinish: start");
	ReporterUtil.createMetaInfo(suite);
	logger.debug("onFinish: done");

}
 
源代码23 项目: che   文件: SeleniumTestHandler.java
@Override
public void onStart(ISuite suite) {
  suite.setParentInjector(injector);
  long numberOfEnabledTests =
      suite.getAllMethods().parallelStream().filter(ITestNGMethod::getEnabled).count();
  LOG.info("Starting suite '{}' with {} test methods.", suite.getName(), numberOfEnabledTests);
}
 
源代码24 项目: AppiumTestDistribution   文件: CucumberListener.java
@Override
public void onStart(ISuite iSuite) {
    try {
        appiumServerManager.startAppiumServer();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
源代码25 项目: AppiumTestDistribution   文件: CucumberListener.java
@Override
public void onFinish(ISuite iSuite) {
    try {
        appiumServerManager.stopAppiumServer();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
@Override
public void onStart(ISuite iSuite) {
    try {
        appiumServerManager.startAppiumServer();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
@Override
public void onFinish(ISuite iSuite) {
    try {
        appiumServerManager.stopAppiumServer();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
@Override
public void onStart(ISuite iSuite) {
    try {
        appiumServerManager.startAppiumServer();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
源代码29 项目: difido-reports   文件: AbstractDifidoReporter.java
/**
 * Event for start of suite
 * 
 * @param suite
 */
@Override
public void onStart(ISuite suite) {
	execution = null;
	totalPlannedTests = getAllPlannedTestsCount(suite);
	updateIndex();
	generateUid();

	addMachineToExecution(suite.getHost());
}
 
源代码30 项目: difido-reports   文件: AbstractDifidoReporter.java
private int getAllPlannedTestsCount(ISuite suite) {
	int totalPlanned = 0;

	for (ITestNGMethod method : suite.getAllMethods()) {
		totalPlanned += getDataProviderCases(method);
	}
	return totalPlanned;

}
 
 类所在包
 类方法
 同包方法