TestCafe по умолчанию против именованных классов - PullRequest
0 голосов
/ 24 октября 2018

Просматривая объектную модель страницы для TestCafe, я заметил, что все классы помечены default, а не типичными именованными классами.

http://devexpress.github.io/testcafe/documentation/recipes/using-page-model.html

Мне интересно, чтопричина в том, помогает ли это как-то пройти тестовый контроллер и поставить в очередь действия браузера?

TestCafe позволяет избежать явной передачи контроллера теста методу.Вместо этого вы можете импортировать t в файл модели страницы. ссылка

Я хотел бы не использовать классы по умолчанию, поскольку эта статья предлагает, но я хочу знать, какие компромиссы характерны для TestCafe.Спасибо.

1 Ответ

0 голосов
/ 25 октября 2018

Не обязательно использовать ключевое слово default для TestCafe.Более того, это не влияет на прохождение теста или работу браузера.Это просто способ экспорта / импорта класса из модуля с одним классом.Если вы хотите написать собственную модель страницы, вы можете использовать один модуль с двумя классами:

Модели страниц:

import { Selector } from 'testcafe';

export class PageModel1 {
    constructor () {
        this.h1  = Selector('h1');
        this.div = Selector('div');
    }
}

export class PageModel2 {
    constructor () {
        this.body = Selector('body');
        this.span = Selector('span');
    }
}

Тестовый код:

import { PageModel1, PageModel2 } from './models';

const pm1 = new PageModel1();
const pm2 = new PageModel2();

test(`Recreate invisible element and click`, async t => {
    await t.click(pm1.div);
    await t.click(pm1.h1);

    await t.click(pm2.body);
    await t.click(pm2.span);
});

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

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