Diese Beispieldatei stellt alle benötigten Methoden, Importe und Hilfsmittel für das Codeabdeckungs-Plug-In dar.
//Add the library scc.jar to your classpath as it contains the interfaces that
//must be extended. The JAR file can be found in the lib directory of the Test
//Manager installation directory.
//
//make sure to include these imports after adding the scc.jar external reference
import com.segue.scc.published.api.codeanalysis.CodeAnalysisProfile;
import com.segue.scc.published.api.codeanalysis.CodeAnalysisProfileException;
import com.segue.scc.published.api.codeanalysis.CodeAnalysisResult;
public class myProfileClass implements CodeAnalysisProfile{
// This function is called first by the Silk Central Code Coverage framework
// The name of the plug-in is displayed in the code coverage drop down in Silk Central
@Override
public String getName() {
// The name of the plugin cannot be an empty string
return "my plugin name";
}
// This function is called before starting coverage,
// this should return all of the objects to be covered and needs to be
// converted into xml using the format specified in the XML schema
// CodeCoverage.xsd included in the CA-Framework installation folder.
// This is triggered by the Silk Central Execution Server starting a test run
// to start code analysis.
@Override
public CodeAnalysisResult getBaseline() throws CodeAnalysisProfileException {
CodeAnalysisResult result = new CodeAnalysisResult();
try{
String baselineData = MyCodeCoverageTool.getAllCoveredObjectsData();
String xmlString = xmltransformXML(baselineData);
result.Xml(xmlString);
String myCustomLogMessage = "Code Coverage baseline successfully retrieved.";
result.AddLogMsg(myCustomLogMessage);
}catch(Exception e){
throw new CodeAnalysisProfileException(e);
}
return result;
}
//This function is called by the Silk Central Code Coverage Framework after the getBaseLine() method is complete
//this is where you should start my code coverage tool
//collecting code coverage data
@Override
public boolean startCoverage() throws CodeAnalysisProfileException {
try{
MyCodeCoverageTool.StartCollectingCoverageData();
}catch(Exception e){
throw new CodeAnalysisProfileException(e);
}
}
//This function is called after startCoverage,
//This is triggered by the Silk Central Execution Server finishing a test run
//to stop code analysis
//Call to my code coverage tool to stop collecting data here.
@Override
public boolean stopCoverage() throws CodeAnalysisProfileException {
try{
MyCodeCoverageTool.StopCollectingCoverageData();
}catch(Exception e){
throw new CodeAnalysisProfileException(e);
}
}
// This function is called after stopCoverage(),
// and should return all the coverage data collected and needs to be
// converted into xml using the format specified in the XML schema
// CCoverage.xsd included in the CA-Framework installation folder
@Override
public CodeAnalysisResult getCoverage() throws CodeAnalysisProfileException {
CodeAnalysisResult result = new CodeAnalysisResult();
try{
String coverageData = MyCodeCoverageTool.getActualCoverageData();
String xmlString = xmltransformXML(coverageData);
result.Xml(xmlString);
String myCustomLogMessage = "Code Coverage successfully retrieved.";
result.AddLogMsg(myCustomLogMessage);
}catch(Exception e){
throw new CodeAnalysisProfileException(e);
}
return result;
}
private String transformXML(String myData){
//code to transform from my data to the Silk CentralM needed xml
...
return xmlString;
}
}