Создайте нестатический класс для использования в других классах без наследования - PullRequest
0 голосов
/ 03 марта 2019

Я пытаюсь улучшить мою тестовую среду и избежать слишком большого числа взаимозависимостей между моими многочисленными классами.Это для автоматизации тестирования.У меня есть класс с именем WebDriverSupport, который содержит в основном методы селена webdriver, такие как - Click (), entertext ...

У меня есть различные классы объектов страницы, которые используют эти методы, но я не хочу наследовать класс.Моя текущая реализация такова -

public class WebDriverSupport{
public void ClickElement(IWebElement element){element.Click()}}

А потом у меня есть класс объекта страницы, скажем, Homepage -

public class HomePage{
private WebDriverSupport Support{get;set;} = new WebDriverSupport();
public void ClickOnThatElement(){
Support.ClickElement(Element)}

Мой вопрос в том, есть ли лучший способ реализовать мою поддержку webdriversupport?класс без домашней страницы, наследующей класс, или я создаю экземпляр класса, как указано выше?

Спасибо

1 Ответ

0 голосов
/ 04 марта 2019

Вы можете создать класс static, используя Extensions

public static class WebElementSupport 
{
    public static void ClickElement(this IWebElement element) 
    {
        //implementation
    }
}

, а затем использовать его, просто using класс с расширениями

using Namespace.With.Extension.WebElementSupport;

public class HomePage
{
    public void ClickOnThatElement()
    {
        Element.ClickElement();
    }
}

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