NI Home > Community > NI Discussion Forums

NI TestStand Idea Exchange

Announcements
The NI Idea Exchange is a product feedback forum where NI R&D and users work together to submit ideas, collaborate on their development, and vote for the ones they like best. View all of the NI Idea Exchanges to post an idea or add your opinion on an existing one today!
New Idea
Raydur

Implement "Administrator Override" option

Status: New
by Member Raydur on ‎02-28-2014 09:32 AM

When I get called to look at an issue that has occurred with a test, the account logged into TestStand is typically a restricted user (i.e. Operator). Since the Operator account has very limited options, in order to really do much immediate troubleshooting I need to stop the test and re-run it in the Administrator account. At best this is inconvenient and inefficient if the spot the error occurred is late in the test. However, it is extremely frustrating when it's an intermittent run-time error and I can't do any real-time debug because Operator is logged in. The only real alternative I can think of (when the problem is intermittent) is to leave it logged in as Administrator so I can debug whenever it happens to occur. This is not really an acceptable practice in most cases.

 

It would be fantastic if there were an override that let's an Administrator provide the proper credentials to perform the desired task that would normally be off-limits to the Operator. The basic premise of this suggestion is similar to the functionality within Windows; if you try to connect to a secured location or perform a task that requires administrator privileges, a dialog box pops up asking you to enter authorized credentials.

 

I run into many situations where I wish this feature was present. The issue is not always within TestStand (could be a database connection issue, etc.), but it is TestStand that throws the error and in Operator mode the only option is "Run Cleanup". Significant time, effort, frustration, and efficiency could be saved if I could simply enter my credentials as an administrator to perform the tasks I need to do.

 

Regards

 

 

On an unrelated side note, I find it humorous that "TestStand" is considered a misspelled word when using the forum spell checker.  :smileyhappy:

warren_scott

Support Unicode

Status: New
by Active Participant warren_scott on ‎01-15-2014 03:26 PM

Right now, you really can't reliably use anything other than a basic ASCII character set in TestStand, which means that some SI units (such as ohms) cannot be represented in their preferred way (with an omega).  It also means that you can't put non-english characters in your sequence file and reliably have them show up if your sequence file is opened on a different computer with a different language localization (which causes a huge problem if your customer demands support for non-English languages, and has more than one site -- that speaks a different language -- around the world).

 

Make TestStand support Unicode, so we can use the full greek character set for things like units, and so we can type characters from any language in our sequence files, and not have them change to a different character if we open them on a computer with a different localization.

 

TSomega.png

manu.NET

VIEW Process Model errors with a popup ...

Status: New
by Member manu.NET on ‎03-26-2014 05:47 AM

Hello,

 

It would be nice to VIEW errors which occurs in the process Model or callbacks using a special dedicated window.

 

Recently, i have send updates to one of my customers, using FTP transfert.

The updates consists of processModel updates, dotNet assemblies ...

During the FTP upload by my final customer, the dotNet assemblies were marked, by windows 7, as "Bloqued" :smileyfrustrated:. (For security reasons ...)

These assemblies were called in my process model.

When the final user tryed to launch his application (Operator interface), nothing occurs :smileymad:! The dotNet assemblies calls fell in error, but without any message. I had to investigate using debugging tools to find out the problem.

 

It should be nice, in case of "anormal errors" in process model calls, or in callbacks (like frontend callbacks) to launch an error window to view this kind of errors.:smileywink:

 

You may say, you should have test the errors and handle them correctlty ... and you're certainly right !

But i get a look to the default processModels provided with TestStand ... and they are coded as i do !!!!

So even with the 'default process model', if an internal dotNet error occurs (missing sub assemblies, no more ressources ... ) the same kind of anormal behaviour could occured !

 

So having the way to view process Model, or hidden callbacks errors will perhaps be interesting ! :smileyhappy:

 

Thanks a lot.

 

Manu.

RobStone

Support Triple-Clicks in text fields

Status: New
by Member RobStone on ‎12-01-2013 09:10 AM

Please support triple-clicking like in LabVIEW or Firefox...

 

A double-click selects the word at the click position (OLD behavior),

a triple-click selects the whole text (like <CTRL>+<A>, NEW behavior)

 

Thanks!

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?

paulmw

Expression Variables

Status: New
by Active Participant paulmw on ‎12-30-2013 09:24 AM

I was in the middle of creating an ugly expression that was parsing a string and building a file path from other standard file paths and realized that I can clean up the expressing by creating a few local variables.  But then I thought do I really want to create these local variables in my sequence that only exist for the purpose of this one expression.  Then I thought, what if I can define a variable within the expression itself, kind of how a variable is defined in C or something similar.  It only exists during the evaluation of the expression.

currently the behavior of the date function is (1) get a short ("MM/DD/YYYY") or long form date string ("Weekday, Month D, YYYY")with nice easy boolean input, (2) pass it N local variables to get all the discrete parts and assemble it myself with a bit of STR() and concatenation.

 

could we create a permutation on this date() function, (does one already exist) so that I can just pass it a %<> syntax string and have it format the current date to my desired format?

 

specifically, I'm looking for a non painful way of building a "YYYY-MM-DD" style string for a report (or even just DD/MM/YYY) without having to lug around 8 locals and a lengthly expression, or call into a LV VI. 

 

We have basic string format symbols available for the STR and VAL functions, why not for date? if anything passing this 1 parameter might save alot of folks creating a bunch of locals because they can just ask for the time item they want directly, and then VAL() the output text to get the numeric data if they need it?

 

it'd be awesome if the function supported standard DB format tags such as (http://www.w3schools.com/sql/func_date_format.asp) or failing that, was consistent with what LabVIEW's time format strings were.

 

Just a thought. Has anyone worked around this in a reasonable way?

 

--Elaine R.

RyanWright

Remove search directories from TestExec.ini

Status: New
by Member RyanWright on ‎05-31-2013 04:25 PM

It isn't uncommon to deploy customized TestStand options, such as search directories, on a deployment computer.  It would be much easier to do this if the search directories in TestStand were stored in their own .ini file rather than in TestExec.ini.  You can obviously set the search directories in TestExec.ini quickly using the built-in search directories GUI, but when distributing the TestExec.ini file to the deployment computer, you have to be careful that none of the other options contained in the file don't inadvertently cause problems when executing TestStand deployments.  A separate .ini file for search directories would clearly remedy this situation.

TestStand already has an awesome tool to change multiple steps at one time, but you have to select all of those steps first by clicking on them with the mouse and using the shift and ctrl click methods.  This works fine for a few steps here and there, but when you have 1000 steps you need to select that are scattered among 1500 other steps, it turns into a two day project.
 
I'd like to see something else that's different than the find/replace window that gives you the option to select and highlight the steps you just searched for in the sequence editor.  It could be a checkbox in the find/replace tool window that gives you the option to either search for the text and display the text matches in that window, or to select the actual steps in TestStand.
 
I just had this problem, and ended up creating some ActiveX code to automatically blast through my sequence and change hundreds of NumericLimitTest step types to Action step types.  That example code was attached to that thread.
Jean-Louis

Sequence adapter available for substeps

Status: New
by Member Jean-Louis ‎03-14-2013 02:48 PM - edited ‎03-14-2013 02:53 PM

When creating custom step types, it is highly recommended to use Post-Step for calling execution module instead of Default Module.

Thus, when instanciating a custom step type, parameters passing is not saved within the sequence but only in the step type definition.

This allows to change parameters passing without having to update all the step types instances.

 

In some big test benches, it is intersesting to have low-level step types and high step types based on low level step types.

High level step types execution modules are sequences using low level step types.

 

Since sequence adapter is not available for Post-Step, we are obliged to call the sequence through Default Module.

Thus it can generate problems when adding parameters in sequence call.

 

I suggess to allow Sequence Call in SubStep creation :

 

SequenceAdapterInPostStep.png

 

Jean-Louis Schricke, MESULOG

TestStand Architect

Al.B

Create a TestStand context help pane

Status: New
by Active Participant Al.B on ‎03-26-2013 03:19 PM

When using the TestStand API, I always find myself switching back and forth between TestStand and the TestStand reference help.  While the intellisense function help is usually enough, many times I like seeing the more detailed information in the help.  I would really like to have the option of displaying context specific help in a TestStand pane, similar to the context help window in LabVIEW.

 

This pane could dynamically update to display function information when using expressions, or show general information about the active pane or dialog (for newer users).  Much of the linking for the second case is already done, since the F1 key will pull up relevant help for the active pane currently.

 

TestStand context help pane.png

Hejc_Tomas

Add HTML capability to Requirements Gateway

Status: New
by Member Hejc_Tomas on ‎10-29-2013 03:03 AM

I’m trying to work with the tool Requirement Gateway. I started with some examples which are contained in install packet of this tool. I need to connect Gateway with HTML document and manage coverage with another HTML document. I managed to get from HTML document load the list of requirements to Gateway tool. If I tried to open the particular requirement from Gateway than the HTML document was opened on first page always. I can’t set the Gateway for opening the HTML document on particular place, when is described requirement.

 

My point of view is make some modification for better connection Gateway tool with internet browser.

zyl7

Re-write LabVIEW code for Full UI and Simple UI

Status: New
by Active Participant zyl7 on ‎02-20-2013 05:01 AM

Often working with Full Featured UI and Simple UI codes to create custom interfaces for TS, I noticed that the versions shipped with LV2012 are full of deprecated functions.

Also, most of their implementation go against good LV coding rules.

 

Re-writing them could be a great idea !

ATEandy

Code Module Filepaths in TestStand Workspace

Status: New
by Member ATEandy on ‎01-07-2014 09:44 AM

Within the Teststand workspace it would be reall useful if the "Code Modules" under the sequence could auto-populate and also if it could display the filepath of the code module. That would make it much easier to keep track of what code a sequence is calling and where from on disk.

Now, if the number is exactly in between if two integers, TS rounding function uses bankers rounding method as a tie-breaking rule. Although bankers rounding tie-breaking rule generally secures equal statistical error distribution, in case of a need of rounding numbers with only one decimal place this tie-breaking rule produces output which could be different than - let say a natural - expectation. 
 
For example if we have a group of numbers like below:
 
{-2.0, -1.5, -1.0, -0.5, +0.0, +0.5, +1.0, +1.5, +2.0}
 
the basic expectation is to have them rounded like that (round-half-up):
 
{-2.0, -1.0, -1.0, +0.0, +0.0, +1.0, +1.0, +2.0, +2.0} 
 
However, using banker-rounding method instead of the rounding as above we see:
 
{-2.0, -2.0, -1.0, +0.0, +0.0, +0.0, +1.0, +2.0, +2.0}
 
I think round half up tie-breaking method option should be added for developers to use.
 
BTW: (the + and - signs and .0 notation are used just to keep the numbers to be easy to compare)

For some reason I was certain this was already in the idea exchange, but I couldn't find it -- so I'll post it.

 

Select Case structures are frustratingly difficult to use if you want one case to support multiple values.

 

In text languages you can often do something like

 

Switch (Foo) {

Case 1:

execute this code;

Case 2:

execute this code;

Case 3:

Case 4:

Case 5:

execute this code;

Case 6:

execute this code;

Default:

execute this code;

}

 

Notice that the case for 3,4,5 is all the same, and I just need to put it in place once.

TestStand can't do this.  You need to do something like this:

how to do select case on multiple values

which is horribly difficult to write, maintain, and understand what is happening.  It would be MUCH easier if select case on multiple values worked like this:

SelectCaseImplementA.png

where it looks just like other text based languages, although it takes up quite a bit of realestate on the screen.

or maybe something like this:

SelectCaseImplementB.png

where I can just type in a comma separated list of allowed values.  The similarity with text based languages disappears here, but it is much smaller on screen (but notice how it shows nicely in the description field) and lines up better with LabVIEW notation.

 

 

Note: LabVIEW already supports doing this, and also supports ranges of values (eg 3, 5..10, 12 for numerics) which would also be nice, and also supports case sensitive and insensitive comparison for cases. 

Status: Completed
I'm happy to announce that this feature is included in the now released NI TestStand 2013! For more details on the feature or to download the new version and give it a spin, check out www.ni.com/teststand/whatsnew

Currently, the only way to pass parameters from a subsequence to a caller is by reference.  It would be nice if you could also pass parameters to callers by value to prevent the callers from modifying them.

Al.B

Update the Callbacks Dialog to use Checkboxes

Status: New
by Active Participant Al.B on ‎12-07-2012 04:49 PM

I think that this simple change to the sequence file callbacks dialog would make it far more simple and intuitive.

 

new:

 newcallbacks.png

 

current:

 

callbacksDialog.png

Status: New
Ray.R

Allow to edit parameter when prototype changes

Status: New
by Knight of NI ‎07-26-2013 10:54 AM - edited ‎07-26-2013 11:15 AM

The MOST annoying part of working with TestStand is the fact that the developer has to re-enter e-v-e-r-y bloody value for a given parameter when the prototype changes in a LabVIEW VI.  I seem to recall that older versions of TestStand would allow the user to do that, but the more recent version don't.  Maybe my mind is playing tricks on me and this was never possible..

 

In any case... When dealing with two parameters which have over 300 (yes!! THREE HUNDRED) entries, this is a bloody nightmare!!  Doing it once is nightmareish.. Doing it multiple times is a death sentence!!!  Sidenote:  I inherited the code and cannot change its structure...

 

In this particular case, the valeus are all Locals.

 

The first idea on this subject is to allow editing the original parameters when making changes to a prototype (LabVIEW or any other source).  Or as the sister idea to this one, allow to Copy & Pate the contents of a container!  See this thread!

 

 

TestStand now works incredibly well with LabVIEW Classes, but there is a slight annoyance with the fact that you cannot call a Dynamic Dispatch VI with an empty Object Reference. The implication of this is that when you want to use a .lvclass, for every class instance you have to call a VI that does nothing more than return a wrapped class constant which then populates an Object Reference. Technically this is not a problem, but it means that your Sequence becomes very quickly littered with these VI's and it would be nice if there was a way within the LabVIEW module adapter settings for a class member call if when you first call a Dynamic Dispatch VI that, as within LabVIEW you can just pass in a class constant rather than a previously populated Object Reference.

 

The Problem - All the LabVIEW calls prefixed with 'NEW' are simply returning a class constant.

 

Setup.png

 

A Potentially more integrated way of doing this

 


The Dynamic Dispatch input has the option of either passing in an Object Reference, or a class constant.

 

Adapter Settings Modified.png

 

 

All compatiable classes are listed in the value box now - either as .ctls, or alternatively as .lvclasses. This could also possibly be more akin to what happens in labVIEW when you call a Class which has available overrides that it gives you a tree view of the class hierachy to choose from.

 

Another way you could do this is to have a checkbox adjacent to the 'Class Path:' or 'Member Name:' named 'First Call' or 'New' or 'Construct' that then changes the 'Derived Class

 

Adapter Settings Modified2.png

 

 

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.

Idea Statuses
Top Kudoed Authors
User Kudos Count
6
4
3
3
3