我正在尝试使用Selenium和C#自动化Web测试。

我有一个Web应用程序,其中某些部分(如页眉和页脚)在多个页面中重复。

可以说我有SecA,SecB,SecC部分。在我的页面中,它看起来像是第1页将具有{SecA,SecB,SecC},第2页将具有{SecA,SecB}和Page3将具有{SecB,SecC}。

我不想在每个页面对象中创建重复项。如何定义这些部分并将其包含在我的页面类中?

如果您可以提供一些示例代码,那就太好了。

最佳答案

//SecA:
public class SecA
    {
    [FindsBy(How = How.Id, Using = "Id")]
    private IWebElement SecAField;
    //Add Getters, setters, methods, constructors, etc..

}

//SecB:
public class SecB
{
    [FindsBy(How = How.Id, Using = "Id")]
    private IWebElement SecBField;
    //Add Getters, setters, methods, constructors, etc..
}

//SecC:
public class SecC
{
    [FindsBy(How = How.Id, Using = "Id")]
    private IWebElement SecCField;
    //Add Getters, setters, methods, constructors, etc..
}

//Page 1:

public class Page1
{
    public SecA secA { get; set; }
    public SecB secB { get; set; }
    public SecC secC { get; set; }

    //Add Getters, setters, methods, constructors, etc..
    public Page1()
    {
        secA = new SecA();
        secB = new SecB();
        secC = new SecC();
    }
}

07-25 23:56