ステップで構成されるある種のテストワークフローがあります。それを表すクラスを作りたいと思います。
例えば
Step 1: Get edit control for username
Step 2: Write username into the control
Step 3: Get edit control for password
Step 4: Write password into the control
Step 5: Click Login Button
問題は次のとおりです。情報を簡単に交換するためのこれらの手順をどのように行うことができますか?ステップ2のコードでステップ1のエディットコントロールを簡単に使用するにはどうすればよいですか?
現時点では、次のコードがあります。
public abstract class TestCase
{
// the Steps to build the test
public IList<TestStep> TestSteps { get; set; }
public TestCase()
{
this.TestSteps = new List<TestStep>();
}
public abstract void Run();
public override string ToString()
{
return this.GetType().Name;
}
}
public class TestStep
{
public int StepNumber { get; set; }
public Func<bool> StepFunc { get; set; }
}
ここで、ステップ1でコントロールを取得し、ステップ2で使用します。
ニーズに合った戻り値を持つさまざまなStepFunc、または特殊なTestStepから派生したクラスのメンバーがあると考えました。しかし、おそらくもっと良い方法があります。
注意:現時点では、これを1つのステップで実行することはできません。
どんなアイデアでも大歓迎です!