2

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

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

public class BaseApplicationPage
{
    protected IWebDriver Driver { get; set; }
    public BaseApplicationPage(IWebDriver driver)
    {
        Driver = driver;
    }
}

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

 internal class HomePage : BaseApplicationPage
    {
        public HomePage(IWebDriver driver) : base(driver)
        {
            Slider = new Slider(driver);
        }

        public Slider Slider { get; internal set; }

我的问题:

  1. 是否有必要用类似的东西填充所有新类(构造函数+从 BaseClass 继承)?
  2. 为什么在我的情况下,主体内部引用了滑块类,而不是将其留空并添加如下内容:

    公共 SliderSection Slider => new SliderSection(Driver);

4

1 回答 1

3

答案 1:是否有必要用类似的东西填充所有新类(构造函数 + 从 BaseClass 继承)?- 如果您需要任何特定类中的驱动程序对象,例如您定义的(HomePage),您需要一个构造函数来初始化驱动程序对象。然后只有您可以在该特定类的任何地方使用驱动程序引用。

答案2

你可以同时使用

public SliderSection Slider => new SliderSection(Driver);

Slider = new Slider(driver);在此处提供,必须在此类或其基类中定义 Slider 类型。

于 2018-05-02T08:32:19.290 回答