Step post action works only in 'Test UUts' mode

Hi,
My main sequence file has a list of  steps, all sequence type.  I specify a post action on each one to jump to end if the seq fails and if a flag is set:
FileGlobals.StopOnFail == True && RunState.SequenceFailed == True 
I found out that it only works if I run my test in 'Test UUTs' mode.  If I select 'Run Selected tests using Single Pass', then, it igonre this.
Is this how it supposed to be?
How can i fix it?
Thanks
Rafi
TS4.1
Solved!
Go to Solution.

Rafi2003 wrote:
[...]Why do you need a previous step?[...]
Rafi,
you are correct that you do not need a previous step; it is sufficient if the step itself fails and sets the RunState.SequenceFailed flag.
On my machine, this test also works as expected so i asume that either your step itself does not set the RunState.SequenceFailed flag or you have another issue in your Run Selected Steps using Single Pass execution....
Norbert 
[EDIT] Added small example sequence 
Message Edited by Norbert B on 05-13-2009 06:26 AM
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it.
Attachments:
PostAction.seq ‏5 KB

Similar Messages

  • The new Google instant search works only in private browsing mode. Fix?

    The new Google instant search feature works only in Private Browsing mode in my Firefox 3.6 How can I get Firefox to allow it in regular, non-private mode?

    You're welcome

  • Pass parameters with Step-Post Actions-'C​all Sequence' option

    I have a sub-sequence which accepts a single parameter.
    Ideally I would like to call this sub-sequence from several Steps, using their Post Actions property , using a Custom Condition Expression and the On Condition False: Call Sequence option.
    The Call Sequence option, when selected, offers a list of sub-sequences including the one which I wish to execute, if the conditions are correct, but I see no way of passing an argument to the sub-sequence's parameter.
    Is there a simple way of passing the parameter ?
    Is there a syntax I could apply to the sub-sequence selected string ? 

    From the TestStand Help:
    Call sequence—TestStand calls a sequence before continuing to the next step. You can select any sequence in the sequence file. TestStand does not pass any arguments to the sequence. If the sequence has parameters, TestStand uses their default values.
    So I don't think this particular method is going to work for you.  However, there are lots of ways to do this, here are a few I can think of off the top of my head (I'm sure there are more, and possibly better ones):
    1.  Just insert a sequence call after every applicable step with an apropriate pre-condition.  This is the easiest method, but kind of messy and requires repeating the call everywhere.
    2.  Change the parameter to a sequence file global... ylch, I hate globals... Terrible programming practice, but it's easy .
    3.  Override the SequenceFilePostStep Engine Callback and put a sequence call with an appropriate pre-condition in there.  This keeps you from having to repeat the code, but it will check the condition after every step executes, not just the ones you are interested in, so you may need some additional conditions.
    4.  Define a custom step type for these steps and use a substep to call the sequence.
    Hope that helps,
    Ryan K.

  • Step post actions runtime modify?

    Hello,
    My SequenceCalls has Goto step -> cleanup in Post Actions as a default setting. Is it possible to modify this condition what TestStand does when Fail happens? I would like to have user decide at the beginning of the test what to do. Either keep current settings (On fail Goto CleanUp) or On Fail goto next step. It could be some kind of popup message or something like that. Or do I have to do completely new sequence for On Fail goto next step case?
    BR,
    Jick

    I have attached one of the approach.
    But here the default is go to next step instead of go to cleanup.
    On failure and based on a user set variable it skips all further tests ( i.e. goes to cleanup) if opted for.
    Hope this helps.
    Attachments:
    Execution conditional jump to cleanup or next step on fail.seq ‏51 KB

  • Browseforopen works only in Test Movie

    Greetings,
    I'm here to ask some basic help.
    I have this code embedded in a Adobe Air 2 .fla :
    import flash.filesystem.File;
    import flash.events.MouseEvent;
    import flash.events.Event;
    var fileChooser:File = File.userDirectory;
    function doSelect(e:Event):void
         trace (e.target.nativePath);
         var pic:Loader = new Loader();
         pic.load(new URLRequest(e.target.nativePath));
         addChild(pic);
          pic.y+=40;
    fileChooser.browseForOpen("Open");
    fileChooser.addEventListener(Event.SELECT, doSelect);
    When I test the Movie (ctrl-enter style ^^) I can see the browse window showing up but, when I publish swf and exe version the browseforopen simply doesn't work without any error.
    Is that something simple and noobish that I miss?
    Thanks a lot in advance

    The example in the documentation was outside any event, called like mine:
    import flash.filesystem.*;
    import flash.events.Event;
    import flash.net.FileFilter;
    var fileToOpen:File = new File();
    var txtFilter:FileFilter = new FileFilter("Text", "*.as;*.css;*.html;*.txt;*.xml");
    try
        fileToOpen.browseForOpen("Open", [txtFilter]);
        fileToOpen.addEventListener(Event.SELECT, fileSelected);
    catch (error:Error)
        trace("Failed:", error.message);
    function fileSelected(event:Event):void
        var stream:FileStream = new FileStream();
        stream.open(event.target, FileMode.READ);
        var fileData:String = stream.readUTFBytes(stream.bytesAvailable);
        trace(fileData);
    I've tried anyway with button and in the test movie everything works fine, but in the app even the button won't showing up.
    I've also try to do the same with a button inside the flash builder.. crtl f11 run all the funcionality. The generated app won't open the browse window.

  • WaitFor() works only when in debugging mode!

    Hi, im having a problem with making my function waits for a process to end while in run mode!
    The function always run and exists while the process is still running...
    I checked it in debugging mode and it worked just fine, but i cant seem to be able to make it work in the run mode!
    Any hints???
    Here is my code:
    public void executeBatch (){
    try{
    Runtime runtime = Runtime.getRuntime();
    Process batchProcess = runtime.exec(new String[] {"cmd.exe", "/c", "FetchFiles.bat"}, null, new File(BATCH_FILES_PATH));
    BufferedReader b = new BufferedReader(new InputStreamReader(batchProcess.getErrorStream()));
    if (b.ready()){
    String line=null;
    while ( (line = b.readLine()) != null) {
    System.out.println(line);
    line = b.readLine();
    int exitVal = batchProcess.waitFor();
    System.out.println("Exit Value = " + exitVal);
    } else {
    b = new BufferedReader(new InputStreamReader(batchProcess.getInputStream()));
    if (b.ready()){
    String line=null;
    while ( (line = b.readLine()) != null) {
    System.out.println(line);
    line = b.readLine();
    int exitVal = batchProcess.waitFor();
    System.out.println("Exit Value = " + exitVal);
    } catch ( Exception ex ){
    System.out.println("executeBatch : " + ex.getMessage());
    btw, the process is a batch that connects to a linux server and "mget" files from some directories in the server...

    what the ....???
    the "BadExecWinDir.java" bad approach is all about
    not using an executable command like "dir"... which
    im not using at all...More than that but secondary.
    >
    and for the "GoodWindowsExec.java" concept
    demonstrates that you should handle the standard
    error and standard input streams and emptying them
    both together, which what i exactly did. i USED the
    concept...
    My piece of code is the same as the
    "GoodWindowsExec.java" code except that i made the
    code of the StreamGobbler class comes inside the
    function directly, and that i didn't use a checkup on
    the operating system to decide wither it's a Windows
    NT or Windows 95 to decide the command prompt
    executable name...StreamGobbler runs as a thread so both streams are emptied in parallel. In your code
               String line=null;
                while ( (line = brError.readLine()) != null)
                    System.out.println(line);this will only terminate when the process terminates and closes stderr. This means that the following code
              while ( (line = brInput.readLine()) != null)
                    System.out.println(line);
                only starts to run once the process terminates.
    BUT, the stderr stream and stdout streams have a limited buffer and block when this buffer becomes full. So, if the stdout stream produces more than a buffer full then it blocks until more room is avaialable and the process cannot terminate so the error stream cannot be closed so the code to empty stdout cannot run to make room in the buffer to put more output. Phew!
    If you change the order of emptying the two streams then you have a simillar effect.
    The only way I know of dealing with this is to empty both streams at the same time so you need two threads. You can use the default thread for one but you MUST use another thread for the other. Since I use stdout, stderr and stdin I use 3 threads!
    >
    thats all...Please read the article again.

  • My iphone working only in loud speaker mode?? help required

    Hi,
    I'm facing this wierd problem where I can't hear what the other person is speaking unless I turn it into speaker mode. Can someone help me solve this problem..

    Hi,
    Have you taken the plastic screen cover off the iPhone, if it's new, as it covers the ear speaker?
    If you've noticed this happening whenever you use you earphones, then try unplugging them several to many times to resolve the problem. Though if you say that your speaker is working, it's more likely to be the first problem, i.e. the screen cover blocking the earpiece.
    Message was edited by: jia10

  • In LabVIEW OI the Run Selected Step Using Test UUTs does not work

    TestStand LabVIEW Operator Interface (old style) - TestStand Version 2.0.1 & 3.0
    The Interactive option was enabled for the Process Model Entry Point - Test UUTs in the SequentialModel.seq.
    When selective steps were selected to run within the LV OI using the menu item 'Run Selected Step Using - Test UUTs' it was found not to work.
    The reason for it not working was because the main event string was "Run Selected Step 0" but this isn't available in the case statement. Changing the "Run Selected Step 1".."Run Selected Step 9999" to "Run Selected Step 0".. didn't produced the desired result. Instead of the selected steps running using the entry point Test UUTs, the steps ran without the process model.
    The Case Statement string was retored back to "Run Selected Step 1".
    The changes that are required to make the "Run Selected Step 1".."Run Selected Step 9999" work with either of the Entry Points are as follow.
    In the VI TestStand - Create Entry Point Menus for Interactive Exec.vi
    Insert an Increment from the iteration terminal of the FOR loop. This ensures the Message Queue string generated is in the range 1 - 9999 not 0 - 9999.
    In the TestStand - Sequence Display.vi
    For the Main Message Event "Run Selected Steps", "Run Selected Step 1".."Run Selected Step 9999"
    In the case "1, Default", decrement the input 'Entry Point Index' to the VI TestStand - Start Interactive Entry Point Execution.vi. This ensures the Entry Point Index starts from the value 0.
    Now when the selected steps are run using a Pocess Model Entry Point, they run correctly.
    This problem only appears to affect the LabVIEW Operator Interface and only the old style. The new style that comes with TestStand 3.0 runs correctly.
    There is one other problem. When an Operator is logged in to TestStand, the Entry Point - 'Single Pass' is disabled. But this is not reflected to the menu item 'Run Selected Step Using'. Both 'Test UUTs' and 'Single Pass' are available to the operator.
    The reason for this is because in the VI 'TestStand - Create Entry Point Menus for Interactive Exec.vi' the sub menu item is enabled as a result from the property Sequence.AllowInteractiveExecutionOfEntryPoint. This is not enough to disable the 'Single Pass'. The Engine.CurrentUserHasPrivilege needs to be checked as well. Which means modications to the VI 'TestStand - Create Entry Point Menus for Interactive Exec.vi'.
    Hope is maybe of help to anyone that may need to use this option.
    Regards
    Ray Farmer
    Regards
    Ray Farmer
    Attachments:
    In_Labview_OI_-_Run_Selected_Steps_Using_Test_UUTs_doesnt_work.txt ‏3 KB

    Thanks Ray for the "heads-up". )
    I am about to implement a vi which calls TestStand functions. This vi will allow to select tests and permits test re-entry (loops) if the user has supervisor privileges.
    I will consider what you recommend in this string.
    I will also provide feedback on this thread if I discover anything .... let's say "unusual"..
    On another note, I am using TestStand 3.0 I have not observed any problems when running selected steps or run selected steps using single pass. I have also within TestStand set privileges for certain Operators to do the same. They have not reported any problems.
    Thanks,
    JLV

  • Post action execution

    In post action of a pass/fail step, how can I go to a step in another sequence file?

    To hss -
    A post action can only call a sequence in the existing file and it cannot pass parameters either.
    To call into a different sequence file, you must use a separate Sequence Call step that uses a precondition that references the pass/fail status of the previous step.
    Scott Richardson (NI)
    Scott Richardson
    National Instruments

  • Retest Panel - Call by Post Actions

    Hi
    I am hoping to get some advice about adding retest functionality to our existing test sequences. What I am trying to do is when a step fails I want to jumps to the retest step which calls the retest.vi (contains debug info and report printing functionality). Once the retest vi has executed I want to either jump back to the failed step (retest) or continue with the sequence (next step). The difficulty am having is I wish to use the retest step when any of the step fails therefore the Post action "goto step X" must be dynamic based on the step that failed.  
    I was wondering if anyone knows of a method of storing current step index to a variable, then using the step index after the retest has been executed to select which step to jump back to?
    Any help would be great
    Dave

    Had success after lunch, used RunState.Step.Name to get the name of the failed step and RunState.NextStep.Name to get the name of the step that should be excuted next. Both of the names are then saved to local varibles. On failure i call then call the retest step (Post Action - goto).  After the retest step has executed i use the local varibles to determine which step to jump back to (Post action > Goto step > Specify By Expression).
    Dave

  • How to edit UserInterface that only Limit-tests are shown

    Hello,
    i just tested the Simple-UserInterface in TS4.0 for Labview.
    While running a sequence all steps are shown in a list.
    What i want to do is:
    How can i modify the USerInterface that not all steps are shown but only the tests that i specify. For example all steps with a special property.
    Is this possible?
    Thanks for your help

    Hello,
    I have a couple of ideas for you.  First of all, are you viewing your
    report from the user interface as well?  You may want to consider modifying what
    step results are added to the report, so that the operator will only see the
    relevant results.  You can do this by viewing the Properties of a step,
    navigating to the "Run Options" category, and disabling the "Record Result"
    checkbox.
    You can also use UI messages to pass data back to your user interface from
    your TestStand sequence, if you want these specific results to be displayed in a
    different section of your user interface.  This would require adding some
    indicators to your user interface that will display your desired results, then
    passing the relevant data back in UI messages to the user interface.  From your
    user interface, you can then update your customized indicators with the data
    passed back from the UI messages.
    Here are some links for further reading related to result recording and UI
    messages.
    Result Recording:
    What are the Different Levels For Which I Can Disable Result
    Recording?
    UI Messages:
    Using
    Default and Custom UIMessages
    Using
    Non-TestStand UI Controls in a User Interface
    User Interface Messages (UIMessages)
    I hope that helps.  BR
    AmirG

  • Programmatically selecting Test UUT as entry point from LabVIEW

    Hi,
    Anne here. I am currently develping a user interface in LabVIEW that call the TestStand sequence. Is there a way for me to programaticallys set the entry point to be Test UUT? I used the Run method from the IseequenceFileViewMgr class but it says there that it runs the sequence without a process model entry point. My sequence will always run as Test UUT mode. Is there a way for me to do this? I saw in the help files that there is a EntryPoint Class in Teststand with a Run Method, but I can't seem to find this method in LabVIEW. 
    How can I automatically execute my sequence to run in Test UUT once I call and run the sequence in LabVIEW? 
    Thanks for the help!
    Cheers! 
    Anne
    Solved!
    Go to Solution.

    Hi Roderic,
    Thanks so much for the help! It worked.
    Cheers!
    Anne

  • Post Action Not Working

    I have given a post action to a step and it does'nt work. Please se the attached sequence.
    Attachments:
    Testing.seq ‏7 KB

    Hi,
    There is nothing wrong with your sequence. The reason the Post Action doesn't jump to Cleanup as you expect is because the Status of first step is "Done" not "Passed".
    Regards
    Ray Farmer

  • Action recorded using RAW open step will not work with layered PSDs

    Hello,
    The title says it all.
    I have an action for resizing photos (and some other things), that I want to make general enough to work on NEF's, JPG's and PSD's. When I recorded the action I used a NEF file and the action works great also for JPEGs and also PSDs that don't have layers. When running the action on a layered PSD, the step immediately after the "open" step fails, no matter what it is. For example, if it's "hue/saturation", I get the error "hue/saturation not available".
    So I was thinking that the image should be first flattened so I added 2 additional steps just after the open: one to add a dummy 0-opacity layer and another step to flatten the image. But no matter what, I keep getting an error at the step after the open: "new adjustment layer not available" or the like.
    I'm thinking that the problem is with the open step actually. For some reason, the o CameraRaw open step is unable to produce a suitable image out of a layered PSD.
    Is there a workaround for this? Thanks!

    Thanks for the explanation.
    However, I am still puzzled as to how the programme can detect lack of time code when the tape was not even rewound or played. I belive the time code is written on the tape.
    Anyway, I tried iMovie and found that the programme detects the camera and controls it. However, it does not recognise the downconverted DV signal. When I turned the DV conversion off, the video was detected and imported using MagicMovie in HD. I still have not gone round to burning on a DVD. ( I only read the article mentioned by Sue after having tried the iMovie programme - somehow the link that was so clearly stated in the reply missed my notice earlier on).
    I have actually recorded the downconverted DV video on a standalone Phillips DVD recorder but the DVD only plays in that recorder and my Mac DVD Player even tho I have finalised the +R disk. The same problem occurs with a +RW disk.
    I appreciate the replies and the explanations. Thanks.
    m_elan
    Power Mac G5   Mac OS X (10.4.9)   2.5 Gb ram

  • Run test uut entry point only once

    Hi,
    I want to avoid that users can run test uuts entry point more than once. I use an operator interface written in CVI 7.1.1 and netry point button is deactivated when run state changes. But after loading the application sometimes is too slow so the user can press this button twice before it is deactivated.
    So is there any possibility to avoid running this entry point more than one time?
    Regards
    Steffen

    Steffen,
    Thank you so much for the help.  You recommendations worked perfectly.  Both of us implemented more or less the same behavior in our operator interfaces, although we used slightly different methods.  Here is what I did:
    I established a count variable in my operator interface that is initially set to 0.  Each time the Test UUTs or Single Pass button is pressed, I increment the count by 1.  I determine that the Test UUTs or Single Pass button is pressed by registering for and handling the Application Manager PreCommandExecute event.  In my callback for this event, I examine the returned Command and look at its EntryPointIndex property to see if the index is 0 (Test UUTs) or 1 (Single Pass).  If it is, I increment the count variable count by 1.  If the index is not 0 or 1, I do nothing.  Once execution has stopped, I reset the count variable back to 0.  I do this by registering for and handling the ExecutionView Manager RunStateChanged event (as you recommended).  In my callback for this event, I examine the returned newRunState to see if it stopped (numerical value of 3).  If it is, I set the value of the count variable back to 0.  If it isn't stopped, I do nothing.
    This method is basically the same as the one you propose.  This method allows you to use the built in TestStand buttons instead of having to use those found in your development environment.  The only drawback is that they don't disable and gray out during execution; they just do nothing when an execution is in progress and the operator presses them.

Maybe you are looking for