Selenium-从构造函数创建新对象(基类)

我对在C#中学习Selenium的尝试遇到的常量问题感到困惑。


首先,我正在创建的每个类都继承了一个设置新驱动程序(BaseClassTest)的类:


public class BaseApplicationPage

{

    protected IWebDriver Driver { get; set; }

    public BaseApplicationPage(IWebDriver driver)

    {

        Driver = driver;

    }

}

接下来,我的“主”类之一(HomePage)从继承“ BaseApplicationPage”的元素开始,然后创建(大多数情况下)具有空主体的构造函数。但是,在这种情况下,体内有一条线:创建一个新的“ Slider”类。


 internal class HomePage : BaseApplicationPage

    {

        public HomePage(IWebDriver driver) : base(driver)

        {

            Slider = new Slider(driver);

        }


        public Slider Slider { get; internal set; }

我的问题:


是否有必要用类似的东西填充所有新类(构造函数+从BaseClass继承)?

为什么在我的体内,是对滑块类的引用,而不是将其保留为空并添加如下内容:


public SliderSection Slider => new SliderSection(Driver);


湖上湖
浏览 185回答 1
1回答

斯蒂芬大帝

答案1:是否有必要用类似的东西填充所有新类(构造函数+从BaseClass继承)?-如果需要在任何特定类(如已定义的主页)中使用驱动程序对象,则需要一个构造函数来初始化驱动程序对象。然后,只有您可以在该特定类中的任何位置使用驱动程序引用。答2:您可以同时使用public SliderSection Slider => new SliderSection(Driver);并Slider = new Slider(driver);在此处提供,Slider类型必须在此类或它的基类中定义。
打开App,查看更多内容
随时随地看视频慕课网APP