# \#faq

**URL:** https://forum.opentap.io/tag/faq/19.md

[Latest](https://forum.opentap.io/latest.md) · [Categories](https://forum.opentap.io/categories.md) · [Tags](https://forum.opentap.io/tags.md)

---

## [OpenTAP White Paper](https://forum.opentap.io/t/opentap-white-paper/386)

<div class="topic-metadata">

**Author:** [@brennen\_direnzo](https://forum.opentap.io/u/brennen_direnzo)\
**Replies:** 2\
**Last updated:** [October 4, 2022, 12:48pm UTC](https://forum.opentap.io/t/opentap-white-paper/386 "2022-10-04T12:48:56Z")

</div>

For anyone looking for more info on the reasoning behind OpenTAP and why we believe an open source test sequence is needed in the Test & Measurement industry, check out our new White Paper:

---

## [Extract a value from a List and asign this value as an output](https://forum.opentap.io/t/extract-a-value-from-a-list-and-asign-this-value-as-an-output/2674)

<div class="topic-metadata">

**Author:** [@janwo](https://forum.opentap.io/u/janwo)\
**Replies:** 4\
**Last updated:** [May 19, 2026, 2:20pm UTC](https://forum.opentap.io/t/extract-a-value-from-a-list-and-asign-this-value-as-an-output/2674 "2026-05-19T14:20:13Z")

</div>

Hello, I would like to know if there is a possibility to select specific (explicit) values that are set by a TestStep into a table (i.e., a list of class objects) and use only those as output values. My goal is to assig…

---

## [Is there any API Doc for Keysight.OpenTap.Wpf](https://forum.opentap.io/t/is-there-any-api-doc-for-keysight-opentap-wpf/2563)

<div class="topic-metadata">

**Author:** [@laihesheng](https://forum.opentap.io/u/laihesheng)\
**Replies:** 8\
**Last updated:** [September 4, 2025, 7:53am UTC](https://forum.opentap.io/t/is-there-any-api-doc-for-keysight-opentap-wpf/2563 "2025-09-04T07:53:50Z")

</div>

Is there any API documentation for Keysight.OpenTap.Wpf.dll other than the examples in SDK\\Examples?

---

## [SCPI command responce - Evaluating result](https://forum.opentap.io/t/scpi-command-responce-evaluating-result/2020)

<div class="topic-metadata">

**Author:** [@b.staal](https://forum.opentap.io/u/b.staal)\
**Replies:** 1\
**Last updated:** [August 28, 2024, 10:18am UTC](https://forum.opentap.io/t/scpi-command-responce-evaluating-result/2020 "2024-08-28T10:18:41Z")

</div>

Hi There. I have a generic SCPI Oscilloscope I’m trying to figure out how to use in my test. Using the “Basic Step → SCPI” function in openTap (With keysight GUI) I can send the SCPI message to the scope and I get a ni…

---

## [Total Cost of Ownership in Test Automation - Part II](https://forum.opentap.io/t/total-cost-of-ownership-in-test-automation-part-ii/1092)

<div class="topic-metadata">

**Author:** [@bweinberg](https://forum.opentap.io/u/bweinberg)\
**Replies:** 0\
**Last updated:** [April 6, 2023, 7:00pm UTC](https://forum.opentap.io/t/total-cost-of-ownership-in-test-automation-part-ii/1092 "2023-04-06T19:00:45Z")

</div>

This second blog in our series examines the factors that influence Total Cost of Ownership (TCO) for OSS and how those costs differ from proprietary software, developed and sourced commercially, in-house, and from open …

---

## [Total Cost of Ownership for Test Automation Software](https://forum.opentap.io/t/total-cost-of-ownership-for-test-automation-software/1072)

<div class="topic-metadata">

**Author:** [@bweinberg](https://forum.opentap.io/u/bweinberg)\
**Replies:** 0\
**Last updated:** [March 22, 2023, 7:53pm UTC](https://forum.opentap.io/t/total-cost-of-ownership-for-test-automation-software/1072 "2023-03-22T19:53:34Z")

</div>

This blog is the first in a series exploring the true costs of test automation software across the IT asset lifecycle:

---

## [Using Command Expert with OpenTAP](https://forum.opentap.io/t/using-command-expert-with-opentap/138)

<div class="topic-metadata">

**Author:** [@kaushik.santhanam](https://forum.opentap.io/u/kaushik.santhanam)\
**Replies:** 6\
**Last updated:** [July 19, 2022, 11:20am UTC](https://forum.opentap.io/t/using-command-expert-with-opentap/138 "2022-07-19T11:20:12Z")

</div>

A free Command Expert plugin is provided here at https://packages.opentap.io/index.html#/?name=CommandExpert Once installed, you can find the usage documentation in the \<tap installation path\>/CommandExpertHelp.chm file …

---

## [How to show user prompts from within the plugin code?](https://forum.opentap.io/t/how-to-show-user-prompts-from-within-the-plugin-code/105)

<div class="topic-metadata">

**Author:** [@kaushik.santhanam](https://forum.opentap.io/u/kaushik.santhanam)\
**Replies:** 15\
**Last updated:** [July 15, 2022, 2:06pm UTC](https://forum.opentap.io/t/how-to-show-user-prompts-from-within-the-plugin-code/105 "2022-07-15T14:06:13Z")

</div>

OpenTAP provides the ability to provide user prompts from within the plugin code. This can be asking a simple yes or no question or it can be asking for part details like a serial number etc. For simple prompts Use th…

---

## [OpenTap with Pathwave Test automation](https://forum.opentap.io/t/opentap-with-pathwave-test-automation/690)

<div class="topic-metadata">

**Author:** [@andy1](https://forum.opentap.io/u/andy1)\
**Replies:** 3\
**Last updated:** [May 11, 2022, 10:51am UTC](https://forum.opentap.io/t/opentap-with-pathwave-test-automation/690 "2022-05-11T10:51:13Z")

</div>

Hi Everybody I’m looking into implementing OpenTap in our manufacturing environment, after I was tasked to find an “open source” version of Teststand, but it seems to me that OpenTap is heavily linked to Keysight Pathwa…

---

## [How to handle abort from a Test Step?](https://forum.opentap.io/t/how-to-handle-abort-from-a-test-step/333)

<div class="topic-metadata">

**Author:** [@kaushik.santhanam](https://forum.opentap.io/u/kaushik.santhanam)\
**Replies:** 6\
**Last updated:** [November 12, 2021, 2:39pm UTC](https://forum.opentap.io/t/how-to-handle-abort-from-a-test-step/333 "2021-11-12T14:39:05Z")

</div>

There are two different abort scenarios. Scenario 1 - Programatically abort Test Plan Execution from TestStep If you want to programmatically abort a Test Plan execution from a TestStep you can call the PlanRun.MainThre…

---

## [Plugin Packaging: Versioning](https://forum.opentap.io/t/plugin-packaging-versioning/408)

<div class="topic-metadata">

**Author:** [@brennen\_direnzo](https://forum.opentap.io/u/brennen_direnzo)\
**Replies:** 2\
**Last updated:** [July 29, 2021, 9:41pm UTC](https://forum.opentap.io/t/plugin-packaging-versioning/408 "2021-07-29T21:41:46Z")

</div>

How to version your plugins from @kaushik.santhanam:

---

## [Custom GUI - Abort and Restart Test Plan](https://forum.opentap.io/t/custom-gui-abort-and-restart-test-plan/401)

<div class="topic-metadata">

**Author:** [@david.minker](https://forum.opentap.io/u/david.minker)\
**Replies:** 3\
**Last updated:** [July 27, 2021, 5:30am UTC](https://forum.opentap.io/t/custom-gui-abort-and-restart-test-plan/401 "2021-07-27T05:30:10Z")

</div>

Hi everyone, I developed a custom GUI (WPF) to run my test plans. Currently I am working on a mechanism to abort a running test plan. The abort does work but when I try to start a new measurement, it does not start the …

---

## [How to call C# based Plugins in Python?](https://forum.opentap.io/t/how-to-call-c-based-plugins-in-python/246)

<div class="topic-metadata">

**Author:** [@kaushik.santhanam](https://forum.opentap.io/u/kaushik.santhanam)\
**Replies:** 0\
**Last updated:** [February 25, 2021, 8:52pm UTC](https://forum.opentap.io/t/how-to-call-c-based-plugins-in-python/246 "2021-02-25T20:52:34Z")

</div>

In case you have an instrument or a DUT that has a plugin written in C#, you can still use that in a Python plugin very easily. In the below example, "PowerAnalyzer" is an C# Instrument Plugin that is provided by "OpenT…

---

## [How to create a button in the KS8400A GUI](https://forum.opentap.io/t/how-to-create-a-button-in-the-ks8400a-gui/231)

<div class="topic-metadata">

**Author:** [@kaushik.santhanam](https://forum.opentap.io/u/kaushik.santhanam)\
**Replies:** 0\
**Last updated:** [February 16, 2021, 7:08pm UTC](https://forum.opentap.io/t/how-to-create-a-button-in-the-ks8400a-gui/231 "2021-02-16T19:08:10Z")

</div>

Buttons are easy to add in the KS8400A GUI. You can simply create a public method in the TestStep class and add a Browsable(true) attribute on it. This will render as a button on the UI which when clicked, will invoke …

---

## [Restricting type of ChildStep used in ParentStep and vice versa](https://forum.opentap.io/t/restricting-type-of-childstep-used-in-parentstep-and-vice-versa/232)

<div class="topic-metadata">

**Author:** [@kaushik.santhanam](https://forum.opentap.io/u/kaushik.santhanam)\
**Replies:** 0\
**Last updated:** [February 16, 2021, 7:14pm UTC](https://forum.opentap.io/t/restricting-type-of-childstep-used-in-parentstep-and-vice-versa/232 "2021-02-16T19:14:01Z")

</div>

In some cases, we would want to allow only specific kind of TestSteps as Children in a ParentStep and vice versa. This is possible by using the AllowAsChildIn and AllowChildrenOfType attributes on the Child and Parent S…

---

## [Calling an existing TestPlan from a TestStep](https://forum.opentap.io/t/calling-an-existing-testplan-from-a-teststep/139)

<div class="topic-metadata">

**Author:** [@kaushik.santhanam](https://forum.opentap.io/u/kaushik.santhanam)\
**Replies:** 0\
**Last updated:** [November 25, 2020, 7:27pm UTC](https://forum.opentap.io/t/calling-an-existing-testplan-from-a-teststep/139 "2020-11-25T19:27:49Z")

</div>

You can use the built in Test Plan Reference step to call another test plan.

---

## [Programmatically accessing an instrument in OpenTAP](https://forum.opentap.io/t/programmatically-accessing-an-instrument-in-opentap/120)

<div class="topic-metadata">

**Author:** [@kaushik.santhanam](https://forum.opentap.io/u/kaushik.santhanam)\
**Replies:** 0\
**Last updated:** [November 11, 2020, 2:53pm UTC](https://forum.opentap.io/t/programmatically-accessing-an-instrument-in-opentap/120 "2020-11-11T14:53:25Z")

</div>

From any TestStep, you can get a reference to the entire collection of instruments: Example: var inst0 = InstrumentSettings.Current.First(inst =\> inst.Name == "INST0");

---

## [How to use file browser dialog in KS8400A GUI for a setting?](https://forum.opentap.io/t/how-to-use-file-browser-dialog-in-ks8400a-gui-for-a-setting/119)

<div class="topic-metadata">

**Author:** [@kaushik.santhanam](https://forum.opentap.io/u/kaushik.santhanam)\
**Replies:** 0\
**Last updated:** [November 11, 2020, 2:46pm UTC](https://forum.opentap.io/t/how-to-use-file-browser-dialog-in-ks8400a-gui-for-a-setting/119 "2020-11-11T14:46:12Z")

</div>

OpenTAP SDK provides two attributes for opening a file explorer window and allowing for the selection of either a file or a directory. Those are \[FilePath\] and \[DirectoryPath\] attributes. Examples of using these can be…

---

## [Ensuring unique CSV result file names for each TestPlan run](https://forum.opentap.io/t/ensuring-unique-csv-result-file-names-for-each-testplan-run/118)

<div class="topic-metadata">

**Author:** [@kaushik.santhanam](https://forum.opentap.io/u/kaushik.santhanam)\
**Replies:** 0\
**Last updated:** [November 11, 2020, 2:40pm UTC](https://forum.opentap.io/t/ensuring-unique-csv-result-file-names-for-each-testplan-run/118 "2020-11-11T14:40:05Z")

</div>

The macros used in the file path for most ResultListeners will ensure a unique file name is created for every TestPlan run. For example, the settings below will automatically use a timestamp and verdict to create the re…

---

## [How can I validate user input for a settings parameter on a Test Step?](https://forum.opentap.io/t/how-can-i-validate-user-input-for-a-settings-parameter-on-a-test-step/106)

<div class="topic-metadata">

**Author:** [@kaushik.santhanam](https://forum.opentap.io/u/kaushik.santhanam)\
**Replies:** 0\
**Last updated:** [November 5, 2020, 7:37pm UTC](https://forum.opentap.io/t/how-can-i-validate-user-input-for-a-settings-parameter-on-a-test-step/106 "2020-11-05T19:37:35Z")

</div>

When we need to restrict what values a user can input into a settings field on a Test Step, we can use the Rules object defined by the Test Step. This allows developers to fully customize what input is allowed as well a…
