NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

How can I generate a seperate HTML report file for each call step in a super-sequence?

I need a seperate HTML report file for each "Call MainSequence in ... " step in a super-sequence rather than having all results in one report file.
Is there a simple way to do this by modifying the SequentialModel? or some other trick?

e.g. SuperSequence.seq
...
Test1 Call MainSequence in Test1.seq
Wait TimeInterval(30)
Test2 Call MainSequence in Test2.seq
Wait TimeInterval(30)
Test3 Call MainSequence in Test3.seq
Wait TimeInterval(30)
etc.
...
0 Kudos
Message 1 of 3
(3,091 Views)
Rich,

The way that I impemented something similar, I found out that you need to run each subsequence in a new execution. That new execution should generate a separate Report file.

In the subsequence call, "Specify Module", in the Multithreading and Remote Execution, section, select "Run Sequence in a new Execution". You MAY have to set your Mainsequence to execute without a Process Model, I had to set this up, but it could have been for some reason other than the separate report for each subsequence.

In the "Settings" button, you may need to enter "RunState.Execution.TypeMask.Value" in the Additional Execution Type Mask Settings". I have this set, and I think that it was so that if I did a "Trace" into the sequence, that it would also trace into the subsequence.

I created a custom step for that creates the SubSequence call that is inserted when I want a different test run so that each generates a separate report name.

For our testing, we have a "Main Test" sequence that lists all of the different tests that we have to run. On startup an array is generated that contains each step name and is passed to a VB Form where we check off each test we want to run. As each test is run, a separate report is generated. I am also then able to rename the report (through another VB call using a StationGlobal variable) to indicate the number of failures in each test as a part of the reportname.

Mike
0 Kudos
Message 2 of 3
(3,075 Views)
Mike,

Thanks for your reply.
Armed with your input I have come up with a Perl generated meta-sequence that seems to do the job.
Only seems to work correctly if it is started with "Run MainSequence" rather than "Single Pass" (process model?).

Cheers,
Rich

e.g. SuperSequence.seq
...
Test1 Call Single Pass()in Test1.seq
Wait Execution(Test1(Main))
Wait TimeInterval(30)
Test2 Call Single Pass()in Test2.seq
Wait Execution(Test2(Main))
Wait TimeInterval(30)
Test3 Call Single Pass()in Test3.seq
Wait Execution(Test3(Main))
Wait TimeInterval(30)
etc.
...
0 Kudos
Message 3 of 3
(3,051 Views)