using OpenTap;
|
using OpenTap.Addin;
|
using OpenTap.Addin.Annotation;
|
using System;
|
using System.Collections.Generic;
|
using System.Collections.ObjectModel;
|
using System.ComponentModel;
|
|
namespace AddInPlugin
|
{
|
[Browsable(false)]
|
public abstract class VariableTestStep : TestStep
|
{
|
protected Dictionary<string, RuntimeVariable> VariablePool;
|
|
protected ObservableCollection<MethodVariable> methodVariables = new ObservableCollection<MethodVariable>();
|
[Display("参数", Order: 0.0, Description: "运行参数.")]
|
[BindingList(nameof(MethodVariables))]
|
public ObservableCollection<MethodVariable> MethodVariables
|
{
|
get => methodVariables;
|
set
|
{
|
methodVariables = value;
|
foreach (var mv in value)
|
{
|
mv.Type = Type.GetType(mv.TypeName);
|
}
|
OnPropertyChanged(nameof(MethodVariables));
|
OnMethodVariablesChanged(value);
|
}
|
}
|
|
protected virtual void OnMethodVariablesChanged(ObservableCollection<MethodVariable> variables)
|
{
|
|
}
|
|
//protected object Resolve(string key, Type targetType)
|
//{
|
// if (key.StartsWith("${") && key.EndsWith("}"))
|
// {
|
// key = key.Substring(2, key.Length - 3);
|
// if (!VariablePool.ContainsKey(key))
|
// {
|
// throw new Exception("No Variable");
|
// }
|
// var target = VariablePool[key];
|
// if (target.Type != targetType)
|
// {
|
// throw new Exception("Type Not Match");
|
// }
|
// return target.data;
|
// }
|
// return null;
|
//}
|
|
public override void PrePlanRun()
|
{
|
base.PrePlanRun();
|
}
|
}
|
}
|