NI TestStand Idea Exchange

Community Browser
Top Authors
cancel
Showing results for 
Search instead for 
Did you mean: 
Post an idea

Hello,

 

Could we add an option to the context menu within TestStand that populates when one right clicks the tab for a *.seq file in the Sequence Editor?  I would like a feature that allows users to be able to close every window except for the selected window.  I've included a screen shot below for clarity.

 

CloseAllButThisFile.png

 

Cheers!

 

Shawn S.

How many of you would benefit from the addition of a feature similar to LabVIEW's Quick Drop?

The functionality that initially comes to mind would be typing to search for your desired step type or step template and dropping it into the sequence you are developing. Please add comments for any additional functionality you might like to see in a TestStand step Quick Drop (for example, you may want TestStand to automatically navigate to the Step Properties of a step after it is dropped from Quick Drop).

Please also add comments for any other situations/scenarios (outside of adding steps to a sequence) where you might benefit from a Quick Drop-like functionality. Thank you.

Having the ability to have line numbers for all steps in the left hand gutter would help in troubleshooting, code reviews, and any time when communicating about a sequence.  There seems to be a gutter there already, so adding there seems to be a place for them already.  Error messages can also post the line number too.

 

The output messages are a good way of sending status messages from the test solution to the end user.  However the control is not available as one of the controls that can be added to user interfaces.

OutputMessage.jpg

Can this control be made available to be quickly added to a UI and linked to the execution view manager.

Also adding some kind of API interface to be able to capture these messages to a log file would remove the need to implement any custom logging mechanisms.  If possible ability to open multiple file logs within the engine at the same time with each file given some kind of filter rules (for example Severity=”error” or ExecutionId=5).  If logs had to be attributed to an execution ID then they could automatically be closed when the execution ended, otherwise the user would have to manually close each file which could get forgotten and TestStand end up with lots of open file references.

TestStand is in dire need of a way to quickly and effectively find broken steps in long sequences.

 

I'm working on large sequence files which often call and utilize other long sequences. Needless to say, I often need to address steps which have become broken due to code rework. As of now (TS 2017), there are only two ways for me to know if a step will not run.

  1. Text is red within the Step Settings window.
  2. Sequence Analyzer reports an Error.

I would like to suggest a third option, one that would be more readily available than either of the other two options. If the step itself was highlighted, text reddened, or somehow otherwise flagged as an error, then the operator won't have to hunt through each of the step settings windows or the sequence analyzer results. All the operator would have to do is open the sequence file and notice that a step appears out of place.

 

It would be nice if sequences could also show if they have broken steps.

 

Included is an example of how this might look.

 

TS_errors_are_highlighted.png

Download All

right now with TestStand Sequence Analyzer utility, it is limited to analyzing a whole sequence file at once (or as much of it as you analyze before you hit the stop button).

However, if I have a long sequence file this can take quite a while, and I don't really want to wait.

Add a feature where I can select areas to analyze and have sequence analyzer just analyze those areas (for example -- select a few (sub)sequences in my sequence file, or a few steps within a sequence).  This way I can limit the area of my analysis to where I know I made changes (or where I know my biggest problems are) and focus on those and not waste time analyzing everything else. 

I think it can a be a really good idea to review and give feedback on all Idea exchange.

 

You ask us to give feedback but you don't finish the loop.

 

Some idea are mark as new for many years now...

Currently you can right click the insertion palette and change the position / menu items that are shown / hidden in the insertion palette from a context based dialog box. (can also be done from the same box in the type palettes view).

It would be useful to be able to modify this programatically.

Currently you can only programatically play with the typepalettefilelist from the engine property object and insert new ones or remove old ones.

If a sequence file is loaded that has a step type in it that is not currently loaded by a type palette file, then it shows up in the insertion palette (as it should do), but if the testexec.ini file says this should be set to "hide" then it is hidden.

 

Thoughts

Thanks
Sacha

It would be nice to have an option to resize an array and have the new elements contain the same properties/variables as the first element. The resize array dialog box has a checkbox for "Empty". How about one for "Auto populate from first index" or something?

 

I currently do a copy and paste into each new element, which is no fun.

 

resize array dialog box.jpg

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.

ExpressionCommentLink.png

Would anyone else use this if it were a feature?

 

Thanks as always,

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

"Parameters.ModelPluginConfiguration.Plugins[0].PluginSpecific.RuntimeVariables.PerSocket[0]"

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

 

CopyVariablePath.png

 

If you have lot of code between an if, else, end statement steps (and other flow control structures for, foreach, while, and etc.), it would be nice to roll all that up so you can see more of the flow of the sequence.  This will also help to know what steps are in those structures in large sequences.  TestStand already has some code folding in the sequence, so this is an expansion of this.  Many text and code editors have this feature and it would be a great feature for TestStand.

 

 

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.  🙂

TestStand File Diff and Merge Utility has the ability to produce reports in XML format with a slew of dependencies on TestStand (stylesheets, button images, etc.) making them not very portable.  Yes, I know they can be packaged with the extra utility, but that's a hassle too.  Now instead of managing a file I have to manage a folder of files.

 

Additionally, these reports only seem to work with Internet Explorer which I'm hearing is going away. Not sure if it's just me, but Edge's IE mode doesn't seem to work for these reports either.

 

Can NI do something to address this?

  • Make a browser extension that works with at least chromium based browsers.
  • Figure out a nice PDF format.

 

Ideally, I want to upload the file type into my code review platform of choice (git, perforce swarm, crucible, network folder share, etc.) and not require my reviewer to have TestStand installed on their machine.

If you are using a custom environment file for TestStand 2016 and later, it would be great if, on startup, the splash screen indicated the loaded Env file name and path.

 

As you can see below, in our custom TestStand RTOI we are showing the loaded environment file on the splash screen when it loaded.  The TestStand 2019 splash screen is shown for comparison.

Download All

The TestStand API doesn't provide a simple, robust mechanism allowing developers to programatically run sequences outside of the ActiveX UIs.

 

On many an occasion I've wanted to wrap the following basic functionality:

  • Run a specific sequence file (with or without a [typically custom] process model)
  • Wait for it to complete.
  • Retrieve the result.

It's something I've needed to do in all of the following situations:

  • Integrating into a customer's existing framework
  • Integrating into my own automated test framework
  • Providing a simple API to a customer
  • Creating customized UIs that rely on UI messages and events rather than the ActiveX Controls

The solution I've ended up defaulting to in the past has been some variation on:

  • Start with the full-featured C# UI.
  • Scrape out all visible ActiveX Controls, and hide the window so that it's running in the background.
  • Integrate a TCP/IP (or equivalent) client into the application that has the ability to listen for requests and then implement them through the AxApplicationMgr.
  • Build a TCP/IP server assembly that launches the client application and exposes the necessary API for simple interactions.

The approach above is time-consuming, error-prone, and feels like a hack -- but given that TestStand does not expose any easy mechanism for simply running a sequence, this is what I've ended up having to resort to.

The current method of viewing the contents of a 2D array variable can be difficult to read if you have many elements.  My suggestion is to add a feature that allows a right click on the 2D array variable and select a popup to see the array in a row/column format.  It would be nice to able to edit the contents with this view as well.

 

I have uploaded an image of a TestStand view of an array and a LabVIEW view for comparison.  Looking at the LabVIEW version, by having the contents in a row/cool format, adding the scroll bars and index display, I can easily see my array contents.

Download All

I think it would enhance readability if, in the step settings of a label step, the label description text were no longer bold.

I cringe every time I fill one of these out or read it back to myself.

(Yes, I'm aware of the ability to mouse over the step itself and read the tooltip)

 

Maybe my use case is unusual, but I'll often write a few sentences in there to describe what a sequence or code block does.

 

Thanks,

 

Mr. Jim

 

 

Ow, my eyes:

 

BoldLabelText.png

When choosing a VI for a step, if you browse into a PPL, the view shows the directory structure inside of the PPL.  A better view would match what LabVIEW shows: the Virtual Folder layout.

 

I tend to keep my library VIs in a flat directory structure, but organize them in my project with Virtual Folders.  But the PPL view in TestStand just shows the single directory instead of the nice organization that I set up in the project.

Since our projects involve several developers working in tandem, we manage all project relevant data under SCM (Source Code Management). This way sharing and exchange of data between developers is much easier. To ensure that all developers can access and use the same TestStand Components – especially the language directory – the TestStand configuration directory is also under SCM control.

During the development process if a developer checks out the project folder, for example to „C:\ProjectX“, then the language folder is available under „C:\ProjectX\TestStand\Components\Language“.

 

TestStand ProjectX.jpg

 

In Teststand there is an option to point the configuration directory to a custom directory. To do this, go under the Station Options – Preferences – Configuration Directory,  and change the default path to our custom checkout path.

 

Station Options.png

 

However, even changing this setting, the language files are still get loaded from the default configuration path. In other words, assigning new custom path (which is „C:\ProjectX\TestStand\Components\Language“) seems to have no effect and the older default location (which is „C:\Users\Public\Documents\National Instruments\TestStand“) keeps getting selected instead.

This means, every developer has to copy the ProjectX TestStand folder into the default location manually a SCM update.

 

Suggested solution: make the whole default location directory changeable, to point to a custom directory. Thus during development of different projects, it is much easier to switch between the projects and to have the possibility to check out the code from a SCM to only one directory (and continue working with them).