我对在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; }
我的问题:
为什么在我的身体里面有滑块类的引用,而不是把它留空并添加这样的东西:
public SliderSection Slider =>新的SliderSection(驱动程序);
答案 0 :(得分:3)
回答1 :是否有必要用类似的东西填充所有新类(构造函数+从BaseClass继承)? - 如果您需要任何特定类中的驱动程序对象,例如您已定义的(HomePage),则需要构造函数来初始化驱动程序对象。然后,只有您可以在该特定类的任何位置使用驱动程序引用
答案2 :
您可以同时使用
public SliderSection Slider => new SliderSection(Driver);
此处提供了和Slider = new Slider(driver);
,Slider类型必须在此类或它的基类中定义。