NI TestStand Idea Exchange

Community Browser
About NI TestStand Idea Exchange

Do you have a feature idea for how to improve NI TestStand? Submit and vote on ideas now!

  1. Browse by label or search in the TestStand Idea Exchange to see if your idea has previously been submitted. If your idea exists sure to vote for the idea by giving it kudos to indicate your approval!
  2. If your idea has not been submitted click Post New Idea to submit a product idea. Be sure to submit a separate post for each idea. Note: the TestStand Idea Exchange is not the appropriate forum to submit technical support questions.
  3. Watch as the community gives your idea kudos and adds their input.
  4. As NI R&D considers the idea, they will change the idea status.
  5. Give kudos to other ideas that you would like to see implemented!

The TestStand R&D team is committed to reviewing every idea submitted via the TestStand Idea Exchange. However, we cannot guarantee the implementation of any TestStand Idea Exchange submission until further documented.

Top Kudoed Authors
Showing results for 
Search instead for 
Did you mean: 
Post an idea

Type Files have a feature to combine files from an install: files prefixed with 'Install_' get merged file existing file (explained here).


I am building a ModelPlugin, and I would like it to be enabled and configured in the Result Processing after install (users should intentionally opt out of using the installed plugin instead of opt-in). The settings are saved in ResultProcessing.cfg, and there is no merge feature available. Placing my own ResultProcessing.cfg will remove any previous settings the user had configured (or other plugins). I would like to be able to place a 'Install_ResultProcessing.cfg' that gets merged upon TestStand launch similar to type files.

I think it'd be a good idea to have a simple (checkbox?) option to change graph scaling in TestStand Reports to logarithmic. There doesn't appear to be a simple way to do this right now.

In instances of nested expressions, it would be useful to be able to press tab to indent a line. I propose inserting "n" spaces when pressing tab.


Coding style of course varies, but for readability, I rather dislike the following


Trim(Locals.SomeLocal) == "" ? (Locals.SomeLocal = "foo",Locals.AnotherLocal = "bar", Locals.SomethingOrRather = "zoo") : False

 ...and much prefer this styling:


Trim(Locals.SomeLocal) == "" ? (
                Locals.SomeLocal = "foo",
                Locals.AnotherLocal = "bar",
                Locals.SomethingOrRather = "zoo" ) : False

...but at present the latter is tedious because one has to insert a lot of whitespace manually or worse yet, use another text editor and paste it into TestStand. It would be nice if TestStand's expression editor supported this basic feature available in almost every text editor or IDE.




Mr. Jim





There is a LabVIEW Champion title... so why not a TestStand Champion title ?!

I think it would make a lot of sense !

Forgive me for the cavalcade of suggestions this week...


One of my favorite options in the LabVIEW development environment is the "Find all Instances" context menu option, whereby one is able to locate all calls to the particular SubVI.


I have long wished that something similar were available in the TestStand Sequence Editor. I'd like to propose a "Find All Sequence Calls" context menu selection when right-clicking on a sequence in the Sequence pane. This could leverage the Find tool, but save the user from copying and pasting the name of the sequence. (And save the user from configuring the search options to narrow down the results) It'd be nice to be able to define the scope of the "find" operation to either the selected sequence or all sequences in memory, but I'd settle for a simple search of the open sequence.




Mr. Jim





Hi all,


There are times, for instance, when I am paused at a breakpoint and I want to copy the full name expression of some deeply nested variable that only appears at runtime.


I wish there was an option on the context menu that would allow me to copy the full path of some variable.


For instance, in the following illustration I want to be able to copy the string


I've added a context menu option called "Copy Path", but maybe that's the wrong nomenclature.


Am I ignorant of some functionality that already does this? (Besides typing it in the watch window?)


Thanks as usual,


Mr. Jim




When using VI Analyzer, one can type "#via_ignore TestName" (e.g. "#via_ignore Spell Check") and then that VI/object won't have those specific test results when running VI Analyzer.  I would like to see this type of functionality added to TestStand.  For example, an individual step could have in its comments "#sa_ignore TestName" (e.g. "#sa_ignore NI_FileByExpression")


Pulido Technologies LLC

For TestStand Sequence Analyzer, all the results information/reports include status, user, computer, file, time and results.  However there's nothing to link to what version of the sequence file you actually analyzed (it just has the path to the file analyzed).  It would be very helpful for compliance tracking if the results/reports also included the sequence file version. 

I can add my own test to log this as information, but it would probably be helpful to others if it was included as part of the results header information.

Hi all,


At times when I am filling out an expression, I'd like to be able to refer other developers to a specific sequence or step within the file.


I think it'd be useful to be able to add clickable "hyperlinks" to other steps or sequences within the same file.


Would anyone else use this if it were a feature?


Thanks as always,

Mr. Jim

The current placement creates confusion about what you’re actually closing out of when you click it. It makes me hesitate and wonder what I am about to close. 


If you click it when there are multiple files open, it just closes out of the tab on top. If you click it when there is only one file open, it closes out of the whole pane, including the Sequences and Variables windows.




It would eliminate any ambiguity if the X for each file were on the tab for that file and if there were a separate X for the pane, like you typically see in tabbed programs.


You could also just put an X next to the pin on each little window instead, like the X in the Step Settings pane and the Insertion Palette in the screenshot above. 

When TestStand launches, it determines the active LabVIEW version and copies the TestStand API VIs into <LabVIEW>\vi.lib\AddOns if not already present. (SOURCE)


I suggest there should be an additional step here and TestStand should call that LabVIEW version to mass compile these VIs.

Currently, the VI version remains unchanged which means when you open a LabVIEW code module which uses these, you'll sometimes find you have a 'dirty dot' due to unsaved changes because of the recompilation. It also means that you wouldn't be able to run a sequence using the LabVIEW Run-Time Engine until you've switched to Development and converted the VIs.

This is a minor annoyance but it would be nice if TestStand could cut out the additional version conversion step.


I do wonder whether the transfer of the TestStand API VIs into the vi.lib could actually occur when LabVIEW is installed if a TestStand installation is detected. Perhaps this might be relevant for other addons which existing LabVIEW installations have.

Find yourself placing a Sequence Call step and trying to determine the appropriate value to enter for a numeric parameter called "Direction"?  Tired of creating sequences with numeric parameters named like the following: "Direction_0_Up_1_Down_2_Left_3_Right"?


The solution is to support the creation of variables with enumerated type within TestStand.  Enums could be created as custom variables and then used as wherever a self-documenting variable is required.



Enum type creation:





As seen from a Sequence Call step to a subsequence that uses an Enum as a parameter: 




It's a relatively minor gripe, but wouldn't it be nice to be able to center justify a message in the MessagePopup step type?


Step.MsgFontData.Justify strangely missing.  It could be an integer as in LabVIEW:

0 = Left

1 = Center

2 = Right


Yeah, I know it's easy to write code to produce a custom dialog, but it seems simple enough that it should be there natively.


Thanks as always,

Mr. Jim

Why not make it possible for Teststand to generate reports in PDF format?

It would make it a lot easier to send a testreport of a specific board to people not connected to the actual tester.


Today we use XML but this requires the stylesheet to be present on the readers pc.

Graphs are also not showing correct unless you do a manual setup of the settings in Internet Explore.


PDF would make my life a lot simpler




The settings field can easily become too long to see every active option and there's not necesarily any consistency between steps if they have differing options. What I mean by that is if you only set the "Do Not Record Result" (my favorite) option in one step, it will be on the left of the settings field. But if you now set several options on another step, the settings are not lined up so that it becomes hard to see at a quick glance which steps I forgot to not record (because TS still doesn't default to not recording steps). You have to analyze the settings line for each step.

Current settings.PNG


I propose something more graphical and ordered. Here's my idea of at least ordered. The text could be replaced with icons representing each setting.

Ordered settings.PNG


Then it would be graphical, ordered, and concise. What more can you ask for?

I would love native support of regular expressions (PCRE regex) in TestStand expressions, with the ability to output captured groups.


For instance, hypothetically:

Number EvaluateRegex(String string, String pattern, Number indexToSearchFrom = 0, Boolean ignoreCase = False, Array CapturedGroups)

I have successfully implemented a sequence to perform Microsoft's version of regex evaluation...


...but it takes several steps and uses Microsoft's flavor of regular expression syntax. This is frustrating for me because I already use moderately complex PCRE expressions all the time, and Microsoft's syntax varies enough to present an additional learning curve. It's also much more cumbersome that just using a native TestStand function within an expression.


My idea is similar to this one, but I'm looking for a function. Whenever people ask for regex support on the forums, it seems that workarounds are presented using simple string functions, but these don't cover my more advanced use cases.


Since day one of using TestStand I have been looking for this feature and I have always wondered why it is absent.


Thank you,


Mr. Jim

I think it would be a great idea to allow the sequence adapter to expand containers like the CVI and LabVIEW adapters do when you are editing the module for the step. 



See attachment.

In order to keep file clean, sequence analyzer helps in finding "potentially unused variables". To delete such variables, each warning in sequence analyzer result has to be double clicked and then delete has to be pressed to finally remove that variable.


In many cases with large sequence file, there could be dozens of unused variables and in a single work-space there are dozens of .seq files.


Is it possible to provide a button or some option to remove all unused variables from a sequence file?

The Search Directories.Insert method should only insert the directory if it is not already there.


The Method includes an index argument, if the directory is already there, then it should move the existing directory to the requested index.


While we were working on the shipping examples for DQMH, we discovered that the insert method was creating duplicates every time it was called. We implemented a work around that includes a for loop to check each of the items in the search directories list to see if it is the directory we are trying to insert, if it is, we delete it. Once the for loop ends, then we insert the directory where we want it.


You can see a video of the issue and how we worked around it here: DQMH 3.1 Only inserts the Delacor examples directory into Search Directories once

Do you ever write an expression in TestStand with a bunch of parenthesis () and get lost halfway through trying to figure out which pairs are open and which are closed.  Well, I do.  Every Day.  And I spend accumulated hours a week just trying to keep track of which ) goes with which (.  If I'm lucky I can look for a little red item in the expression, or click on the check expression checkbox, but when I have a 'only runtime evaluatable' expression I'm out of luck (which is rather often) ).  Some languages/editors have a parenthesis matching, where the ) your cursor is on causes the matching ( to get bold or flash.  Others start coloring each pair a different color, so it's easy to see them all.  Why can't TestStand do something like this????