我创建了一个新的 Telerik 报告类库(目前为单个报告),它在 VS2010 中成功构建 [10.0.30319.1 RTMRel]
我想测试/调试,所以我将一个名为“Tester”的WinForms项目添加到包含上述类库的解决方案中,并将Tester作为启动项目。
在解决方案资源管理器中,我右键单击项目测试器下方的引用节点,然后从上下文菜单中选择“添加引用”。从对话框的“项目”选项卡中,我选择 MyTelerikClassLibrary。
回到 Tester 项目中的 WinForm1,我想声明 Report1 的实例,Intellisense 向我显示 MyTelerikClassLibrary.Report1:
MyTelerikClassLibrary.Report1 R1 = new MyTelerikClassLibary.Report1();
我检查了显示此顺序的解决方案构建顺序:
MyTelerikClassLibrary
Tester
在“依赖关系”选项卡上,它显示 Project Tester 依赖于 MyTelerikClassLibrary。
然而... 当我去构建项目时,我收到此错误:
Error 4 The type or namespace name 'MyTelerikClassLibrary' could not be found (are you missing a using directive or an assembly reference?
MyTelerikClassLibrary.DLL 已创建并驻留在类库项目目录下的 /bin/debug 目录中。
为什么我无法构建项目?
所以你的winform项目,除了引用你的类库之外。您还有 Telerik.Reporting 和 Telerik.ReportViewer.WinForms 的参考吗?
当您查看“MytelerikClassLibrary”的参考时,请尝试将“复制本地”设置为 True。
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.testng.ITestContext;
import org.testng.ITestResult;
import org.testng.TestListenerAdapter;
import com.aventstack.extentreports.ExtentReports;
import com.aventstack.extentreports.ExtentTest;
import com.aventstack.extentreports.Status;
import com.aventstack.extentreports.markuputils.ExtentColor;
import com.aventstack.extentreports.markuputils.MarkupHelper;
import com.aventstack.extentreports.reporter.ExtentHtmlReporter;
import com.aventstack.extentreports.reporter.configuration.ChartLocation;
import com.aventstack.extentreports.reporter.configuration.Theme;
public class Reporting extends TestListenerAdapter
{
public ExtentHtmlReporter htmlReporter;
public ExtentReports extent;
public ExtentTest logger;
public void onStart(ITestContext testContext)
{
String timeStamp = new SimpleDateFormat("yyyy.MM.dd.HH.mm.ss").format(new Date());//time stamp
String repName="Test-Report-"+timeStamp+".html";
htmlReporter=new ExtentHtmlReporter(System.getProperty("user.dir")+ "/test-output/"+repName);//specify location of the report
htmlReporter.loadXMLConfig(System.getProperty("user.dir")+ "/extent-config.xml");
extent=new ExtentReports();
extent.attachReporter(htmlReporter);
extent.setSystemInfo("Host name","localhost");
extent.setSystemInfo("Environemnt","QA");
extent.setSystemInfo("user","pavan");
htmlReporter.config().setDocumentTitle("InetBanking Test Project"); // Tile of report
htmlReporter.config().setReportName("Functional Test Automation Report"); // name of the report
htmlReporter.config().setTestViewChartLocation(ChartLocation.TOP); //location of the chart
htmlReporter.config().setTheme(Theme.DARK);
}
public void onTestSuccess(ITestResult tr)
{
logger=extent.createTest(tr.getName()); // create new entry in th report
logger.log(Status.PASS,MarkupHelper.createLabel(tr.getName(),ExtentColor.GREEN)); // send the passed information to the report with GREEN color highlighted
}
public void onTestFailure(ITestResult tr)
{
logger=extent.createTest(tr.getName()); // create new entry in th report
logger.log(Status.FAIL,MarkupHelper.createLabel(tr.getName(),ExtentColor.RED)); // send the passed information to the report with GREEN color highlighted
String screenshotPath=System.getProperty("user.dir")+"\\Screenshots\\"+tr.getName()+".png";
File f = new File(screenshotPath);
if(f.exists())
{
try {
logger.fail("Screenshot is below:" + logger.addScreenCaptureFromPath(screenshotPath));
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
public void onTestSkipped(ITestResult tr)
{
logger=extent.createTest(tr.getName()); // create new entry in th report
logger.log(Status.SKIP,MarkupHelper.createLabel(tr.getName(),ExtentColor.ORANGE));
}
public void onFinish(ITestContext testContext)
{
extent.flush();
}
}