CruiseControl.Net - inclusion of html report? (I get 'Unable to find file') - cruisecontrol.net

I have build that produces a (NCover 3.4 Summary) html report.
I'd like to configure the Dashboard to show the html report.
The report is produced perfectly in working folder during the build - my problem is referencing the report from the Dashboard. Should I do something to store it from working folder into the 'cc.net build records'? I don't really understand the inner workings there...
My use of plugin in the Dashboard.config is shown below. I don't know what I should use actionName for and have left it with value from documentation.
The link in CC.Net resolves as: http://DummyServerName/ccnet/server/local/project/DummyProject/build/log20101221100723Lbuild.2.0.0.176.xml/viewReport.aspx
Thanks for any comments,
Anders, Denmark
<htmlReportPlugin description="NCover Summary" actionName="viewReport" htmlFileName="coverage_summary.html" />

From the CCNET Documentation [1] :
This plug-in can display any file that
is in the build folder under artefacts
folder for the project. It cannot
display files from any other location
(for security reasons). Files can be
published to a build folder using the
File Merge Task. This will
automatically generate the correct
folder structure for the HTML reports.
Either way, you can generate an xml report, merge it into the ccnet log and use an xsl to display it in the dashboard/emails.[2]
[1] http://build.nauck-it.de/doc/CCNET/HTML%20Report%20Plugin.html
[2] http://docs.ncover.com/how-to/continuous-integration/cruisecontrol-net/

Related

Incorrect code coverage percentage show up on the summary tab of the azure yaml build pipeline

On the summary tab, code coverage is shown as 57%. However, when I open the code coverage results file on the Code Coverage tab in Visual studio locally, it shows 84% code covered. What might be the reason behind it?
Please let me know if any more information is needed.
What might be the reason behind it?
You can open the code coverage results file and compare it to the file in VS to see how they differ.
One possible reason is that the code coverage in Azure DevOps includes additional .dlls.
You can open the code coverage results file to see whether it adds .dlls that you don't want.
If so, you can try the following solutions:
Use the run settings file to specify which .dlls to include. Note: Do not use exclude filters, but use include filters to cover what you want. You can click the document Customize code coverage analysis for detailed information and steps.
Use /ALLOBIND (C++) or ExcludeFromCodeCoverageAttribute Class (C#).
Delete all .pdb files and change your build process.

When using Gauge for UI Automation is there a way to get all screenshots in the same folder as the report

I am using the Gauge framework for UI Automation.
My hope is that I am able somehow to write screenshots to the folder being made to contain the html report for an execution. The trick is that the folder and its contents for a report are not made until after execution completes so I can't write screenshots inside the reports folder as I am taking them during my tests.
Currently the screenshots that I take are written to a folder in the reports folder (root level) of the project. When trying to copy the entire html report to another location I have to also move the screenshots and then have to manually manage the screenshots in that extra screenshots folder as I delete old reports. There are a lot of after the fact steps that I could do but was hoping for a simpler solution.
I am hoping that I was missing something and there was a way to write the screenshots into each reports folder (when reports are not being overwritten) so that I don't have to mangage (move/delete) the screenshots separately and so that the links in the report to the screenshots stay consistent.
Screenshots in gauge's html-report are embedded inside the html as a base64 encoded string. So they currently don't exist as a separate file that you can manipulate.
Some options for your use case:
1) Implement a Custom Screenshot Grabber and intercept the screenshot, save it to any location you like.
2) build a custom reporting plugin (ex, build on this seed example) and collect the screenshots independent of the html report.
If you do not want the reports to be overwritten, you can set overwrite_reports=false in your properties file. See ref.
Note that you can also change the html-report's theme if you want a different report structure.

Allure reports to see historic trends

I am working on creating a Reports Dashboard for automated tests that run once in a day. I am using WebdriverIO and so far allure has been super helpful in building detailed reports.
I am using the allure command line command:
allure generate --clean ./allure-results && allure open
to generate the reports, however I am not able to get my PREVIOUS results and my TRENDS tile is empty.
History is also EMPTY
Is there any way I can store daily reports and filter by date and see them stacked against a particular day?
Process to make Trend and History work:
Before generating the report, copy the history folder from your previous allure-report folder inside your current allure-results folder.
Therefor your new allure-report will have a new history folder that you need to save for the next day, and so on and so forth.
Documentation on this issue are somewhat confusing and naming of directories does not help novice allure user eighter.
I'll try to dumb it down a little, so that i would understand it myself with only one pass of reading.
Preconditions
you must have run successfully allure:report, othervise you would not know that your trends are not working
you most likely allready know where directory allure-results is because you (or at least allure) needed that to generate report without trendlines
What to do:
locate folder named history from the place to where allure:report task generated html results -- in my case it is: target/site/allure-maven-plugin/history
copy that entire history directory into directory allure-results -- in my case that is: target/allure-results
now run maven target allure:report again, and your resulting page has TREND filled with few first results
every time after running your tests copy that history directory as described above and generate nice results after that, to have consistend TREND showing
What next:
for extra credit you may configure your allure:report task run to do copying automatically before generating new results site (in my case i used intellij idea to run maven task and there i can add some tasks to be executed before launch -- however automating that, is out of scope of getting trends working at all)
You can integrate your build with Jenkins, where you can use Allure plugin to generate reports.
You have to install it from Manage plugin.
Once installed you can configure it to run post build in your job configuration.
This will generate allure reports for each build you run and store it in build number folder. You'll also get the trend tile populating automatically.
For more information you can refer allure documentation here: Allure Jenkins configuration

How to set Wix OutputName programmatically

We have a Wix bundle project and now need to produce an OEM-branded version of our product. I'd like to use the same bundle project to produce both the base product and branded bundles rather than creating a second bundle project.
I'm familiar the Wix localization functionality (WXL files), and it looks like I could use it for this, but I'm stuck on the OutputName of the bundle EXE which is defined in the WIXPROJ; it needs to have a different name for the branded version. That is, the same bundle project should produce both BrandedBundle.exe and BaseProductBundle.exe.
Is there a way to use the localization functionality to set the OutputName programmatically?
I don't know how to do it with the localization functionality, but there is a nother way to do this.
You can pass in a build parameter to the msbuild...
msbuild WiXInstaller.wixproj /t:Rebuild /p:DesiredName="OEMName"
If your Output name (in the wixproj) is defined as the following:
Application-$(DesiredName)
Then your output will actually be: Application-OEMName.msi
You can then have your build configured to run for a bunch of different OEM's if you need...
msbuild WiXInstaller.wixproj /t:Rebuild /p:DesiredName="OEMOne"
msbuild WiXInstaller.wixproj /t:Rebuild /p:DesiredName="OEMTwo"
msbuild WiXInstaller.wixproj /t:Rebuild /p:DesiredName="OEMThree"
It will run the build three times, and each will have its own output name:
Application-OEMOne.msi
Application-OEMTwo.msi
Application-OEMThree.msi
Best of luck.
Upon further review, I see that the "Cultures to build" field in the bundle's project properties page is disabled, so it appears that localization is not supported for bundles.
I did find some suggestions here: Creating localized WIX 3.6 bootstrappers., but it does not appear that it is possible to do what I wanted to do (change the OutputName) the way I wanted to do it (using localization).

CruiseControl.Net 1.5, htmlReportPlugin, how to make/keep build-specific copies of the html-files?

I'm using NCover 3.4 (current as of 2010-06-16) to create html reports, which I wish to link to from CCNet.
This article explains how,
http://csut017.wordpress.com/2009/05/29/improved-ncover-integration/
but my build-specific report is not stored in a way that is expected in article(?). At least it does not work for me.
I guess the question is - given a directory with files, how do I get them included in my build-log?
I get reports generated in ./src/coverage/FullCoverageReport during the build.
When I click my report link in dashboard
()
I get
[6:WARN] Unable to find file '74\coverage\FullCoverageReport\fullcoveragereport.html' in 'HealthMonitor'
We abandoned using NCover 3.4 and use NCover 1.5.8 instead. It produces the desired reports in xml, hence the need for html inclusion is no longer there...

Resources