在lcd和服务器显示实时数据,LCD屏幕上的测试结果和代码覆盖状态

在构建结束时

我们汇总所有相关信息

我们将此信息插入SQL Server表

查看结果

要查看结果,我们创建了一个简单的Excel文件。

在Excel中,我们从BuildServer表中获取最新的100个结果。在这里,我们选择每30分钟刷新一次这个查询(创建查询时的复选框)。

我们在此数据上创建了一个数据透视图,显示了构建的结果。

要在刷新查询时自动刷新透视图,我们使用了vba脚本。

简而言之,就是这样。在连接到LCD的计算机上打开Excel文件,结果每30分钟刷新一次。

脚本

使用以下批处理文件进行聚合和插入。

FOR /F "tokens=3 delims=:" %%A in ('FIND /c "Fatal:" "%Temp%\Build.txt"') DO SET FatalErrors=%%A

FOR /F "tokens=3 delims=:" %%A in ('FIND /c "Error:" "%Temp%\Build.txt"') DO SET Errors=%%A

FOR /F "tokens=3 delims=:" %%A in ('FIND /c "Warning:" "%Temp%\Build.txt"') DO SET Warnings=%%A

FOR /F "tokens=3 delims=:" %%A in ('FIND /c "Hint:" "%Temp%\Build.txt"') DO SET Hints=%%A

FOR /F "tokens=3 delims=:" %%A in ('FIND /c " at " "%Temp%\TestRun.txt"') DO SET TestFailures=%%A

sqlcmd -S -d -U -P -Q"INSERT INTO dbo.BuildServer (Initials, CreatedOn, FatalErrors, Errors, Warnings, Hints, TestFailures) VALUES ('%Initialen%', GETDATE(), %FatalErrors%, %Errors%, %Warnings%, %Hints%, %TestFailures%)"

用于刷新所有数据透视表的Vba脚本

Private Sub Worksheet_Change(ByVal Target As Range)

Dim pt As PivotTable

Dim ws As Worksheet

For Each ws In Application.Worksheets

For Each pt In ws.PivotTables

pt.RefreshTable

Next pt

Next ws

End Sub