//Copyright 2012-2019 Keysight Technologies
|
//
|
//Licensed under the Apache License, Version 2.0 (the "License");
|
//you may not use this file except in compliance with the License.
|
//You may obtain a copy of the License at
|
//
|
//http://www.apache.org/licenses/LICENSE-2.0
|
//
|
//Unless required by applicable law or agreed to in writing, software
|
//distributed under the License is distributed on an "AS IS" BASIS,
|
//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
//See the License for the specific language governing permissions and
|
//limitations under the License.
|
using OpenTap;
|
|
// This example shows how a test step can access methods and properties on DUTs or Instruments.
|
// DUTs and Instruments are typically configured via the TAP GUI.
|
// See the User Documentation for more information.
|
|
namespace OpenTap.Plugins.PluginDevelopment
|
{
|
[Display("Dut+Instrument Usage", Groups: new[] { "Examples", "Plugin Development", "Instruments And Duts" },
|
Description: "Shows how a test step can reference resources such as DUTs and Instruments.")]
|
public class UsingDutAndInstExample : TestStep
|
{
|
[Display("Some Setting")]
|
public string SomeSetting { get; set; }
|
|
// Instruments can be added as test step settings, just like any other class.
|
// The TAP GUI will look for an Instrument of the specified type to fill in
|
// Instrument or ScpiInstrument can be use to allow any Instrument that inherits from those types.
|
// A specific class can be used to restrict which instruments the test step works with.
|
[Display("Simple Instrument")]
|
public SimpleInstrument ExampleInstrument { get; set; }
|
|
// The same concept for instruments (see above) can be applied to DUTs.
|
[Display("Simple Dut")]
|
public SimpleDut ExampleDut { get; set; }
|
|
public UsingDutAndInstExample()
|
{
|
SomeSetting = "Setting Default Value";
|
}
|
|
public override void Run()
|
{
|
Log.Info("SomeSetting = \'{0}\'", SomeSetting);
|
Log.Info("DUT MyMetaData = \'{0}\'", ExampleDut.MyMetaData);
|
Log.Info("Instrument Name = \'{0}\'", ExampleInstrument.Name);
|
|
// It is not necessary to call the Open or close methods for Instruments and DUTS in a test step.
|
// That is handled by the test plan as it starts up, or shuts down.
|
// Methods on instruments and DUTs can be called in the Run method, just like calls on any other object.
|
ExampleInstrument.DoNothing();
|
ExampleDut.DoNothing();
|
|
UpgradeVerdict(Verdict.Pass);
|
}
|
}
|
}
|