alfa-laboratory / Molder

BDD steps libraries for test automation databases, web services, and WebUI
MIT License
17 stars 16 forks source link

Добавить вывод в лог PageObject после BeforeFeature #163

Closed egorsh0 closed 3 years ago

egorsh0 commented 3 years ago

Сделать вывод в лог всего PageObject в виде

└───Page(Name)
│   │   Element(Name, Locator)
│   │   Element(Name, Locator)
│   └─Block(Name, Locator)
│   │    │   Element(Name, Locator)
│   │    │   Element(Name, Locator)
│   │    │   ...
│   │
│   └───Frame(Name, Locator)
│   │        │   Element(Name, Locator)
│   │        │   Element(Name, Locator)
egorsh0 commented 3 years ago

Для создания/проверки функционала создать консольное приложение, в котором будут объекты

public enum ObjectType
{
    Page,
    Block,
    Frame,
    Element
}
public class Node
{
        public string Name { get; set; }
        public ObjectType Type { get; set; }

        public IEnumerable<Node> Childrens { get; set; }
}

Создать несколько Pages в виде IEnumerable

var pages = new List<Node>
{
   new Node
   {
       "Page1",
       ...
   }
};

добавить несколько уровней блоков и фреймов, учитывая то, что внутри каждого из них могут быть и блоки, и фреймы, и элементы Важно - страница может быть только на самом верхнем уровне (как корень)