我们有一些由步骤组成的测试工作流程。 现在我想构建表示它的类。
e.g。
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派生类中的成员。但可能有一个 更好的方式。
请注意:目前我无法一步到位。
任何想法都非常感谢!
答案 0 :(得分:-1)
介绍stepcontroller保存执行步骤并控制步骤的执行,当它执行步骤2时,它将步骤1的结果传递给步骤2.步骤2不应该访问步骤1的编辑控件而是对步骤1的结果进行访问,步骤1是输入步骤1的编辑控件的文本。 当然,步骤的结果也可以累积,以便步骤4的结果包含用户名和密码。