Testcafe - структура объекта страницы и класс по умолчанию - PullRequest
0 голосов
/ 27 февраля 2019

Я моделирую веб-страницу с большим количеством элементов.Исходя из Ruby, у меня был один класс для каждого, скажем, крупного элемента и его подэлементов на странице.Например, navbar будет его собственным классом:

import { Selector, t } from 'testcafe';

export class NavBar {
  constructor () {
    this.home = Selector('#home')
    this.intro = Selector('#intro')
    ...
  }
}

export class HeaderSection {
  ...
}

Вопросы:

  1. Нужен ли класс по умолчанию?Моя IDE жалуется, но тест работает.Я считаю, что ответ - нет, но это хорошая практика (?)
  2. Какой рекомендуемый способ написания сложной модели страницы в JavaScript?Я склонен иметь одностраничный класс, скажем index, а затем иметь несколько дочерних классов (Navbar и HeaderSection на моем примере), которые наследуются от index class

Thisя думаю, это должно быть:

import { Selector, t } from 'testcafe';

export default class Index {
}

export class NavBar extends Index {
  constructor () {
    super ();
    this.home = Selector('#home')
    this.intro = Selector('#intro')
    ...
  }
}

export class HeaderSection extends Index  {
  constructor () {
    super ();
    ...
  }
}

, поэтому, когда я импортирую модель страницы в свой тестовый набор, я могу позвонить import Index from ../pages/index_page.js

1 Ответ

0 голосов
/ 28 февраля 2019

Нужен ли класс по умолчанию?Моя IDE жалуется, но тест работает.Я полагаю, ответ - нет, но это хорошая практика (?)

Это не обязательно.Ключевое слово default определяет способ экспорта в JavaScript.Вы можете организовывать объекты страниц по своему усмотрению.

Какой рекомендуемый способ написания сложной модели страницы в JavaScript?Я склонен иметь один класс страницы, скажем, индекс, а затем иметь несколько дочерних классов (Navbar и HeaderSection в моем примере), которые наследуются от класса индекса

Это зависит от сложности страницы.Если тестовая страница проста, то достаточно одного класса объекта страницы для одной страницы.Если тестовая страница сложная, хорошим решением будет создание отдельных классов для сложных элементов управления.

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