Dynamically specify TestStand pass/fail string

I am performing tests utilizing multiple instruments. Each instrumemt may independently be in 'live' or 'simulated' mode. If any one instrument is in 'sim' mode, the test is considered in 'sim' mode. When in 'sim' mode the tests pass.
My goal is to be able to look at the test report and determine if a specific test ran in 'sim' mode or live mode. My solution is to append the suffix '-sim' to the test status produced by TestStand. Thus the 'passed', 'failed' strings would become 'passed-sim', 'failed-sim' in 'sim' mode. These strings would have to be given to TestStand at the same time as the measurement value but before the test exited.
Any thoughts or ideas on how I might accomplish the dynamic setting of the pass/fail string? I don't want this to be a permanent change, I want TestStand to revert back to the original pass/fail strings for the next sequential step.
Hurst C.

Hi Believer,
What you seem to be trying to do is modify the results or a property of the results from the previous step. But unfortunately modify this property will only be affective if you were to re-run that step again eg step back one step. What you need to be modifying is the property that is in the Locals.ResultList. i.e Locals.ResultList[0].ReportText for the first step to be recorded in the sequence, Locals.ResultList[nth].ReportText for the nth step in the sequence to be recorded.
By modifying 'RunState.Sequence.Main["Clock test (4.0V)"].Result.ReportText="FLAG"' you are actually modifying the runtime version of the step before its executed. Therefore, providing you do not over write the contents of ReportText within you step, this initial value will be seen in the result.
You can check this by stepping into you step and checking the value of ReportText within the step.
Hope this clarifies things
Regards
Ray Farmer
Regards
Ray Farmer

Similar Messages

  • In LV, using TS API, how do I specify the VI module for a Pass/Fail step?

    I am writing a LabView VI which will let a user write a TestStand sequence. Each step in the seq is the same type, a Pass/Fail test. I need to specify for each step the LabView VI module location, and an input buffer. I am having difficulty finding out how to specify the module for the step using the TestStand API in LabView. How to do this????

    Hi Drew,
    I think Dennis might have come at this from the wrong angle.
    Have a look at the example that ships with TestStand under
    \Examples\SequenceBuilderTool\LabVIEW
    This might give some clues, but I'd suggest posting this question over to the TestStand discussion Forum as suggested by Dennis.
    There'll be a few more people there who can help a bit more in-depth
    My personal suggestion is to create a custom step type that calls the .vi's and then you can create the steps in a new sequence file using your tool easily. This could be cumbersome for you if you already have a lot of steps setup.
    Better then to create a resource to get the steps out of to clone them by creating a sequence file which is full of your steps. When you have a handl
    e to a cloned step, you can change properties about it in memory, before putting it into the sequence (i.e. change it's name and stuff)
    Otherwise you need to get the type and create a new step of this type.
    If all you're stugling with is the module to call, then for the step you have a handle to, change the
    you can either change the "Step.TS.SData.ViPath" as a string (TestStand set property value String with a reference to the sequence_context) or if you wanted to bring up the specify module dialog, if you have a handle to the step itself, call the method SpecifyModule.
    Hope that helps
    Sacha.
    // it takes almost no time to rate an answer

  • DI Job Failed with no reason since last week : Invalid schema is specified for PASS output in the Validation Transform

    Post Author: Nono44
    CA Forum: Data Integration
    Hi,
    I have problem with DI job. That job doesn't work since friday.
    The error is :
    (11.7) 04-21-08 09:48:56 (E) (2588:2396) XRN-130125: |SESSION
    OracleApps_GLFacts_Load|STATEMENT
    <GUID::'93342049-fbd9-4942-bab2-5565e8e248bf' TRANSFORM Validation
    OUTPUT(Validation_Pass,
    Validation_Fail)>
                                                         Invalid schema is specified for PASS output in the Validation Transform  Does anybody know what is it ?
    Thanks a lot.
    Arnaud

    Post Author: Nono44
    CA Forum: Data Integration
    Hi,
    I have problem with DI job. That job doesn't work since friday.
    The error is :
    (11.7) 04-21-08 09:48:56 (E) (2588:2396) XRN-130125: |SESSION
    OracleApps_GLFacts_Load|STATEMENT
    <GUID::'93342049-fbd9-4942-bab2-5565e8e248bf' TRANSFORM Validation
    OUTPUT(Validation_Pass,
    Validation_Fail)>
                                                         Invalid schema is specified for PASS output in the Validation Transform  Does anybody know what is it ?
    Thanks a lot.
    Arnaud

  • Passing a string into an SQL query IN statement

    Hello,
    I need to connect to a database to pull some data to dynamically create a form based on the data I pull back. My SQL query works fine when I manually run it through a SQL client tool, but when I try to pass it through my workflow I'm having trouble with passing my string into the IN part of the statement. So if for example my SQL query is:
    SELECT Field1, Field2, Field3 FROM Table1 WHERE Field4 IN (?)
    I have a process variable that has the string I'm trying to pass into the ?, but I don't seem to be able to get the query to run. I have tried setting up my query to run as a Parameterized Query (passing my string process variable into the ?), and by setting the query up through xPath (where I am calling my process variable with an xPath declaration), but am not having any luck.
    The process variable I am trying to pass is formatted such that I'm passing 'Value1','Value2','Value3' but I can reformat this string if need be. Even with using test data I can't get the query to return anything. For test data I have tried: 'Value1','Value2','Value3' ; Value1','Value2','Value3 ; Value1,Value2,Value3 but the query never returns any data. I can't seem to see how to format the string to pass into the query. The Query will work with a single Value in the test data, but as soon as I try to pass multiple values within the string it fails. Any suggestions?

    The problem looks to be a limit on what I can pass into the SQL query component. My string is coming from data returned from another database. I take the xml output from that database call, pass it through a set variable component to remove my xml tags from the string, and then format the string in a script component (I have to do it this way because of the way the data coming out of my first database call). I've put in loggers, and can see that the string I'm passing into my query that is giving me problems, is formatted the same way as if I were to use the concat function Scott listed above. It looks like there is a limitation on what can be passed in my variable. I have tried creating my entire SQL query statement in a set variable component, and then just calling the process variable that holds that statement, but there is a character limit of 128 character for what can be passed in a variable through xpath in the SQL query component.
    The next thing I tried was changing my SQL where clause. Instead of passing my variable directly into the IN statement I set up a PATINDEX('%:'+countyname+ ':%', ?) > 0 call to check for the values in my database call. As you can see I took out the "," that I was passing as part of my string, thinking that the SQL component was getting confused by them, and placed ":" characters around my values being passed in my string variable. No matter what I try to do though I'm not able to get the query to run. The component looks like it is taking my string, and is seeing the whole thing as a string instead of passing it as individual values within a string.
    I think I'm getting close, but I keep getting a Content not allowed in prolog exception in the server logs.

  • How can assign a PASS/FAIL test to each element of a cluster?

    I would like to pass a cluster from Labview 8.6  to TestStand 4.1.1 and apply a pass/fail test to each boolean element of the cluster.  For elements of the cluster that are string values, I would like to apply a string value test.  For elements of the cluster that are numeric values, I would like to apply numeric value or limit tests.  How can I do this? 

    Hi epsilon-delta,
    The best way to do this would be to create a custom data type from that cluster and store the output of your vi to a local variable. You can then add Pass/Fail Test, Numeric Limit Test and String Value Test steps (using the None adapter) after the Action step to test each element of the cluster.
    Eric B.
    National Instruments

  • [LV - TS] How to execute a SEQ file, get the result (PASS/FAIL) and the report file ?

    Hello,
    I'm looking for the most obvious and simple way to, from Labview :
    1- Start the Teststand engine : DONE
    2- Get a list of SEQ files to execute : DONE
    3- Loop through the list to execute each SEQ file : <- found some examples but I have some trouble with the UIMessage stuff
    http://zone.ni.com/reference/en-XX/help/370052N-01/tsexamples/infotopics/executing_sequences_using_api_labview/
    4- Get the result of the SEQ execution : <- unsure
    5- Get the XML path+name of the report file generated : <- obviously not easy
    http://digital.ni.com/public.nsf/allkb/3D3B2358DF9B786B8625789500549A3B
    http://forums.ni.com/t5/NI-TestStand/Getting-Report-File-Path-location-at-execution-in-TestStand-2012/td-p/3041789
    Here is my current implementation :
    David Koch
     

    Hello,
    I tried to work from this example :
    http://forums.ni.com/t5/NI-TestStand/Execution-of-TestStand-Sequence-in-LabVIEW-via-TS-API-Different/td-p/2939616/page/2#M46686
    However it remains unclear about how to get a simple
    answer from just running a sequence file out of any
    model so far (Simple Pass). Like I told you, all what
    I need, once the TS engine is started, is a VI with the
    following interface :
    INPUT
    1- TS engine reference
    2- SEQ file path (path or string)
    3- Sequence name to execute
    4- UUT string (optional, but yeah)
    5- error in
    OUTPUT
    1- Result boolean (PASS/FAIL)
    2- Path to XML report
    3- error out
    It would be so cool to just have this
    About the surrounding UI, I'm working on it. The LV
    code is not really important at this point, it's running
    a SEQ file that matters to me.
    David Koch
     

  • Pass/Fail in Report Filename

    I would like to display pass/fail in the TS report filename.  Please provide steps or example code of how to perform this task.

    Just an update:
    TestStand 4.2 gives you the ability to specify the report path using Expressions as well right from the Report Options dialog box. For instance, using the  
    <UUTStatus> macro, you could specify that reports for UUTs that Pass versus those that Fail go to different locations.
    For more information on this, refer to:
    NI TestStand Help: Specifying Report File Paths by Expression
    NI TestStand 4.2 Release Notes: Using Expressions to Customize Report File Paths
    For more information on the new features in TestStand 4.2, refer to:
    Whats New in TestStand 4.2
    Jervin Justin
    NI TestStand Product Manager

  • Sequence pass/fail variable for csv report

    I need to write a small CSV file with my sequence test results. The way I am considering doing this is to
    save the information I need as the test progresses in local, file, or station global variables
    make a report string using the values stored in these variables, and
    write the string to a file via a LabVIEW VI.
    Is this a reasonable way to do it? In which variable does the overall UUT pass/fail result get stored?
    StephenB

    I recommend against doing it this way.  What you want to do defeats the entire purpose of using TestStand in the first place.
    If you are using a newer version of TestStand (2012 or newer) I would create a custom plugin to do exactly what you are doing.
    There is a ton of information out there on plugins.
    Here is an example on probably what you are trying to do:
    http://zone.ni.com/reference/en-XX/help/370052N-01/tsexamples/infotopics/modelplugin/
    Here are some more links that are important:
    http://zone.ni.com/reference/en-XX/help/370052K-01/tsfundamentals/infotopics/pmpcreatingplugins/
    http://zone.ni.com/reference/en-XX/help/370052M-01/tsfundamentals/infotopics/process_model_plugin_ar...
    The advantage of using a plugin is that now all tests can utilize it as opposed to the report generation being specific to a single test.
    Hope this helps,
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • I am trying to use the T. S. operator interface I need to add pass fail and error

    Hello:
    I  am using Labview 6.1 and Test Stand 2.0
    I have made some modification to a copy of the T.S. Labview operator interface. How do I get the pass/fail or error from test stand to be pass to LabView so I can tell the operator that the unit pass or fail the test. I do not want to use the Test UUTs. I want this to be very low operator response.
    Message Edited by Toro on 02-28-2006 01:52 PM

    Not sure if this is available in the earlier versions of TestStand, but I think so.
    You could post a UI Message, from your execution entry point in the process model, to your User Interface indicating the pass/fail/error status when a test run is complete.  You will need to handle the UI Message in your Operator Interface.  See TestStand II Customisation course notes for handling UI Messages.
    The data passed in the UI Message can be anything you like, the UI Message handler in the User Interface will have to process the message and update the display as required.
    Hope this helps
    Steve
    Message Edited by SercoSteve on 03-01-2006 10:02 AM
    There are 10 types of people in the world that understand binary, those that do and those that don't.

  • How to pass a String and make it as Color Object

    I need to set a background color dynamically...but the value that i pass is in string format. How can i convert the string into Color format so that i can use the method setBackground(Color.blue) method. How to pass the string into the 'Color.blue' ?

    Let param="red"
    Class cls = Class.forName("java.awt.Color");
    java.lang.reflect.Field fld = cls.getDeclaredField(param);
    Color clr = (Color)fld.get(null);
    You can use this 'clr' variable as you wish.
    null

  • HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: String index out of range: -7

    All -
    I'm new to consuming web services in JDeveloper. I'm using Oracle JDEV 10.1.3.3/OC4J.  I'm using this version since it is compatible with Oracle EBS 12.1.3.  My intent is to pull data from our third party recruitment app (Success Factors) and load that data into Oracle HRIS.  I'm already doing this through a .NET application.  I'm converting it to be a Java Concurrent Program in EBS.  The code listed below is a stub call to verify I'm on the right track. I created a JDeveloper Web Services proxy project.  I'm testing it locally on my windows desktop.  When I'm able to consume the service successfully, then I'll think about moving it to the EBS server.
    I'm getting the following error when I invoke the following service:
    HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: String index out of range: -7
    End point is: https://api4.successfactors.com/sfapi/v1/soap?wsdl
    Any help/assistance would be much appreciated. 
    Below is my code and output of my test:
    package emsc.oracle.apps.emscper.sfapi.proxy;
    import HTTPClient.HTTPConnection;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.IsValidSession;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.IsValidSessionResponse;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.Login;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.LoginResponse;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.LoginResult;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.Logout;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.LogoutResponse;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.SFCredential;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.SFParameter;
    import emsc.oracle.apps.emscper.sfapi.proxy.types.sfobject_sfapi_successfactors_com.Error;
    import java.io.File;
    import javax.xml.rpc.ServiceFactory;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Date;
    import javax.xml.ws.BindingProvider;
    import javax.xml.soap.SOAPException;
    import java.util.Map;
    import oracle.security.ssl.OracleSSLCredential;
    public class SFAPITest {
        // Declare members:      
        private String companyId;
        private String userName;
        private String password;
        private String developerKey;
        private Date   effDt;
        private String greaterThanEffDt;
        private String lessThanEffDt;
        // Declare constants:      
        final static private String breakLine = "+---------------------------------------------------------------------------+";
        final static private String format    = "yyyy-mm-dd";      
        private enum ReqId {
            PrimaryReq(25),
            PrimaryReqCEO(26),
            EmCarePrimary(27),
            RTI(28),
            EmCareClinical(29);
            private int reqId; 
            private ReqId() {
            private ReqId(int value) {
                reqId = value;
            public int getReqId() {
                return reqId;
        // Getters and Setters:  
        protected String getCompanyId() {
           return this.companyId;
        protected void setCompanyId(String value) {
           this.companyId = value;                 
        protected String getUserName() {
           return this.userName;
        protected void setUserName(String value) {
           this.userName = value;                 
        protected String getPassword() {
           return this.password;
        protected void setPassword(String value) {
           this.password = value;                 
        protected String getDeveloperKey() {
           return this.developerKey;
        protected void setDeveloperKey(String value) {
           this.developerKey = value;                 
        protected Date getEffDt() {
            return this.effDt;
        protected void setEffDt(Date value) {
            this.effDt = value;                 
        protected String getGreaterThanEffDt() {
           return this.greaterThanEffDt;
        protected void setGreaterThanEffDt(String value) {
           this.greaterThanEffDt = value;                 
        protected String getLessThanEffDt() {
           return this.lessThanEffDt;
        protected void setLessThanEffDt(String value) {
           this.lessThanEffDt = value;                 
        public void runProgram()
            SFAPIService mySFAPIService;
            String CompletionText = "";
            String effDtStr2 = null;
        /* Code your program logic here.
        * Use getJDBCConnection method to get the connection object for any
        * JDBC operations.
        * Use CpContext provided commit,rollback methods to commit/rollback
        * data base transactions.
        * Don't forget to release the connection before returning from this
        * method.
        /* Call setCompletion method to set the request completion status and
        * completion text.
        * Status values are ReqCompletion.NORMAL,ReqCompletion.WARNING,
        * ReqCompletion.ERROR.
        * Use Completion text message of length 240 characters. If it is more
        * than 240 then full string will appear in log file and truncated 240
        * characters will be used as request completion text.
        try
            ServiceFactory factory = ServiceFactory.newInstance();
            mySFAPIService = (emsc.oracle.apps.emscper.sfapi.proxy.SFAPIService)factory.loadService(emsc.oracle.apps.emscper.sfapi.proxy.SFAPIService.class);      
            SFAPI api = mySFAPIService.getSFAPI();
           /// SFAPI api = new SFAPI();
            //Map<String, Object> requestContext = ((BindingProvider) api).getRequestContext();
            //requestContext.put(BindingProvider.SESSION_MAINTAIN_PROPERTY, true);
            System.out.println("ServiceName => " + mySFAPIService.getServiceName().toString());
            System.out.println("End Point   => " + mySFAPIService.getServiceName().toString());
            System.out.println(breakLine);
            // Authentication: Login to SFAPI:
            SFCredential credential = new SFCredential();
            // Fake credentials being passed in for this post:   
            credential.setCompanyId("XXX");
            credential.setUsername("XXX");
            credential.setPassword("XXX");
            credential.setDeveloperKey("XXX");
            HTTPConnection httpsConnection = null;       
            OracleSSLCredential _credential = new OracleSSLCredential();      
            _credential.setWallet("\\\\\\C:\\Program Files\\Java\\jdk1.6.0_33\\jre\\lib\\security", "ParkEstes3");
            /*System.setProperty("javax.net.ssl.trustStore","C:\\\\\OraHome_1\\jdev\\jdevbin\\jdk\\jre\\lib\\security\\keystore");
            System.setProperty("javax.net.ssl.trustStorePassword","changeit");  
            System.out.println(System.getProperty("javax.net.ssl.trustStore"));*/
            // SFParameter: Define a generic SFParameter List.  This is a necessary parameter
            // to invoking calls in SFAPI:      
             /*System.setProperty("javax.net.ssl.keyStore",
             "file:\\\C:\\jdk1.4.1\\jre\\lib\\security\\client.keystore");
             System.setProperty("javax.net.ssl.keyStorePassword","welcome");         */
            /*  System.setProperty("oracle.net.wallet_location",
                          "(SOURCE=(METHOD=file)(METHOD_DATA=(DIRECTORY=\\\C:\Users\dparrish\Oracle\WALLETS)))");  // (2)                     */
            File kstore = new File("C:\\OraHome_1\\jdev\\jdevbin\\jdk\\jre\\lib\\security\\jssecacerts");
            boolean exists = kstore.exists();
            if (!exists) {
                System.out.println("Keystore does not exist");
            else {
                System.out.println("Keystore does exist");
            System.setProperty("javax.net.ssl.trustStore", kstore.getAbsolutePath());
            System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
            //System.setProperty("proxySet", "false");
            //System.setProperty("http.proxyHost", "127.0.0.1");
            //System.setProperty("http.proxyPort", "8080");
            System.out.println(kstore.getAbsolutePath());
            List<SFParameter> lst = new ArrayList<SFParameter>();
            SFParameter param = new SFParameter();
            param.setName("");
            param.setValue("");
            lst.add(param);      
            SFParameter[] sfParam = lst.toArray(new SFParameter[lst.size()]);
            Login login = new Login();
            try {
                login.setCredential(credential);
                System.out.println("1");
                login.setParam(sfParam);
                System.out.println("2");
                LoginResponse loginResponse = new  LoginResponse();
                LoginResult loginResult = new LoginResult();
                try {
                     loginResponse = api.login(login);               
                catch (Exception e ) {
                    System.out.println(e.getMessage());
                System.out.println("3");
                try {               
                     loginResult = loginResponse.getResult();
                catch (Exception e ) {
                    System.out.println(e.getMessage());
                System.out.println("4");
                IsValidSession vs = new IsValidSession();                  
                IsValidSessionResponse isValidSessionResponse = api.isValidSession(vs);
                System.out.println("5");
                if (isValidSessionResponse.isResult()) {
                     System.out.println("Session is valid");
                     System.out.println("Result => " + loginResult.getSessionId());
                     System.out.println(breakLine);              
                    Logout logout = new Logout();
                    LogoutResponse logoutResponse = api.logout(logout);
                    if (logoutResponse.isResult()) {
                         System.out.println("Logout of SFAPI Successful");
                    else {
                        System.out.println("Logout of SFAPI Unsuccessful");
                else {
                     System.out.println("Session is invalid");
                    List<Error> errors = new ArrayList<Error>();
                    for (int i = 0; i < loginResult.getError().length;  i++) {
                        errors.add(loginResult.getError()[i]);
                    for (int i = 0; i < errors.size(); i++) {
                         System.out.println("Error Indice   => " + i);
                         System.out.println("Error Code:    => " + errors.get(i).getErrorCode());
                         System.out.println("Error Message: => " + errors.get(i).getErrorMessage());
                         System.out.println(breakLine);                                                          
                    } // end for loop of SFObject errors
                } // end InvalidSession
            catch (Exception e)
                 System.out.println("Session Credential Exception");
                 System.out.println("Exception => " + e.getMessage());
                 System.out.println(breakLine);                   
        catch (Exception e)
            System.out.println("Parameter List Exception");
            System.out.println("Exception => " + e.getMessage());
            System.out.println(breakLine);
        }   // end runProgram
        // Constructor:
        public SFAPITest()  {
        } // end constructor
        public static void main (String args[]) {
            try
                SFAPITest test = new SFAPITest();        
                test.runProgram();
            catch (Exception e) {
                System.out.println("main exception => " + e.getMessage());
    } // SFAPITest
    Here is the output with trace:
    WARNING: Unable to connect to URL: https://api4.successfactors.com:443/sfapi/v1/soap due to java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: String index out of range: -7
    Session Credential Exception
    Exception => ; nested exception is:
        HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: String index out of range: -7
    +---------------------------------------------------------------------------+
    Process exited with exit code 0.

    The other end is throwing back a programming error.
    That might be because you are sending incorrect data and the other end fails to validate it.
    You might be able to guess based on your C# code.  But, since you are using soap one generic solution is available to you.
    - Get an http proxy interceptor like wireshark.
    - Run it while your C# app runs, collect the http requests from that.
    - Run it while running your java code, collect the http requests from that.
    Compare the two.

  • Sending a return value without pass/fail message

    Hi,
    I'm using the COM adapter to talk TestComplete application.
    I have a string value test step to evaluate a return value and determine if it's pass or fail (e.g. return 0 = pass, return 1 = fail).  This works perfectly.
    However, I have added another return value (e.g. return 2), the code executed fine, but it keeps displaying that step as "Failed", which is annoying.  Is there a way to suppress this failed message?
    Basically, here's what I need to do, return 0= display pass, return 1 = display fail, return 2 = display no message or just display done.
    Thanks so much!
    Solved!
    Go to Solution.

    The String Value Test step type only evaluates to Passed or Failed.  It does not do a tristate.  In fact any of the step types in the Tests (Pass/Fail Test, Numeric Limit Test, Multiple Numeric Limit Test, String Value Test) will always be pass or fail.  They never evaluate to just done.
    The Status Expression is what makes a step Pass or Fail.  Unfortunately with the default steps you cannot change the Status Expression.  You have to create a custom step type to do that.
    What are you setting your Step.Result.String to?  Or did you change the Data Source?
    Here are 3 options:
    1- Create a custom step based on the String Value Limit test and change the Status Expression such that you get your desired behavior
    2- Use and Action step and change the Status Expression such that you get your desired behavior.
    3- Continue using the step you are using but in the Post-Expression place some logic which turns off the Step.StepFailCausesSequenceFail if you are in return 2 state
    http://zone.ni.com/devzone/cda/tut/p/id/4302
    Hope this helps
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • Need help with pass/fail expression​.

    I've got an array of strings parameter called Parameters.CAN_Switch_Channel_Name[0] (equal to a string) which gets passed into a subsequence.  During run time when this subsequence gets called, a new parameter gets created which gets named the string which is passed in through Parameters.CAN_Switch_Channel_Name[0].  So for instance if Parameters.CAN_Switch_Channel_Name[0] is equal to CC_VS_Spd.CC_Set_Switch, then a parameter will get created at run time called: Parameters.CC_VS_Spd.CC_Set_Switch.  I want to create a pass/fail expression to check the new parameter.  I am not sure how to build the expression.  I tried:
    Parameters."Parameters.CAN_Switch_Channel_Name[0]"​  This didn't work!
    Parameters.(Parameters.CAN_Switch_Channel_Name[0])​  This didn't work either!
    I need a way of pulling out the value in Parameters.CAN_Switch_Channel_Name[0] and appending it to Parameters. to reference the parameter created at run time.
    Any ideas?

    Hi,
    I read this a few times now, and just when I think I got ......
    In your SubSequence you have a parameter which is called CAN_Switch_Channel_Name[] which is an array of strings.
    Now do you wish to change the Name of this string array from CAN_Switch_Channel_Name to CC_VS_Spd.CC_Set_Switch or is it that the contains of the array is set to eg
    CAN_Switch_Channel_Name[0] = "CAN_Switch_Channel_Name to CC_VS_Spd.CC_Set_Switch"
    and is this done in the Sequence or before the sequence ist called.
    Maybe a small example of what you are trying to achive, even if its not working may help.
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • Combine "Pass/Fail" and "Multiple numeric limet" tests

    Hi,
    how is it possible to combine a pass/fail and a multiple numeric limit test?
    I know that you can create your own step types and so I already combined these two steps. But now i can only observe the numeric limits. Regardless of the pass/fail source ("Edit Pass/Fail Source") TestStand only looks at the numeric limits. If they are ok the test is passed. If not, it is failed. It does not matter if "Step.Result.PassFail" is True or False.
    What is the problem, or do i make any mistakes?
    Thanks for your help
    Daniel

    Hi,
    You will need to include the Step.Result.PassFail in the Status Expression. Probably at the moment you only have the NumericLimitTest Status expression in your combined step type. You will need to changed the Status Expression to match your requirement which will give you an overall Pass Fail for your step type.
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • Passing a string from c# to RunState.Root.Locals.UUT.SerialNumber at NI

    HI all,
    How can I pass a variable content as a string in c# to the sequence variable named as RunState.Root.Locals.UUT.SerialNumber.
    The main gold is to pass the string value from textbox in c# GUI to the sequence parameters.
    Tnx

    Hi
    there a serveral ways to do this task. But you should do it in that way Norbert_B has descriped by using UserInterface Messages.
    In general, TestStand is not only one process. Your UI is another process. You have to share information over processes.
    The recommed way for doing this here is fireing UI messages. From TestStand execution you send a message to your UI. Once you have received this message in your UI, you can get a handle to the current sequnceContext were you are able to set your UUT number.
    I am pretty sure that Norbert can explain this more in detail. :-) because i am out of time now.
    Regards
    Juergen
    =s=i=g=n=a=t=u=r=e= Click on the Star and see what happens :-) =s=i=g=n=a=t=u=r=e=

Maybe you are looking for

  • Can't get Airport Extreme and Express to join same network

    I recently bought an Airport Extreme so I could create a wireless network with my Airport Express. THis way I could browse the internet and stream music to my stereo at the same time. After spending hours trying to get both AP Extreme and Express lin

  • Movie clips as masks

    I'm trying to use a movie clip as a mask layer. The movie clip contains both lines and fills. The fill areas are working perfectly but the lines are appearing all weird and streaked (it's actually quite cool looking but not what I'm ideally after). T

  • How to transfer iTunes library from iMac to macbook pro?

    i recently got a macbook pro but all of my music is on my imac. how do i transfer the music?

  • Action box in IW52

    hi, I have to add a additional button to the existing action box in  IW52. SPRO plant maintenance and customer servoce -> maintenance and service processing -> maintenance and service notification -> notification processing -> additional function ->

  • The backlight appears to have failed on the left side of my 27" iMac display.

    Is this a known hardware problem? Happened today to my 2011 iMac - less than 2 months old. Craig