Selenium - создание нового объекта из конструктора (базовый класс) - PullRequest
0 голосов
/ 02 мая 2018

Меня смущают проблемы с константами, с которыми я сталкиваюсь в ходе изучения Selenium на C #.

Прежде всего, каждый класс, который я создаю, наследует класс, который устанавливает новый драйвер (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; }

Мои вопросы:

  1. Необходимо ли заполнять весь новый класс чем-то вроде этого (конструктор + наследование от BaseClass)?
  2. Почему в моем случае внутри тела есть ссылка на класс слайдера вместо того, чтобы оставить его пустым и добавить что-то вроде этого:

    public SliderSection Slider => new SliderSection (Driver);

1 Ответ

0 голосов
/ 02 мая 2018

Ответ 1 : необходимо ли заполнять весь новый класс чем-то вроде этого (конструктор + наследование от BaseClass)? - Если вам нужен объект драйвера в каком-либо конкретном классе, подобном тому, который вы определили (HomePage), вам нужен конструктор для инициализации объекта драйвера . Только тогда вы можете использовать ссылку на драйвер в любом месте этого конкретного класса.

Ответ2 :

Вы можете использовать оба

public SliderSection Slider => new SliderSection(Driver);

и Slider = new Slider(driver);, указанные здесь, тип Slider должен быть определен в этом классе или в его базовом классе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...