1

我们有某种由步骤组成的测试工作流程。现在我想建立类来代表它。

例如

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; }
}

现在我想在 Step1 中获取 Control,在 Step2 中使用它等等。

考虑拥有不同的 StepFunc,它们具有适合需求的返回值或专门的 TestStep 派生类中的成员。但可能有更好的方法。

请注意:目前我无法一步完成。

任何想法高度赞赏!

4

1 回答 1

-1

引入一个 stepcontroller 保存要执行的步骤并控制步骤的执行,当它执行步骤 2 时,它将步骤 1 的结果传递给步骤 2。步骤 2 不应访问步骤 1 的编辑控件,而是访问到第1步的结果,也就是在第1步的编辑控件中输入的文本。当然也可以对第4步的结果进行累加,这样第4步的结果就包含了用户名和密码。

于 2013-01-11T13:44:31.083 回答