Я тестирую веб-сайт со страницей входа в систему, а затем другие страницы, видимые только после входа в систему.
Я создал модель login_page.js
следующим образом:
// my_login_page_model.js
import { Selector, t } from 'testcafe';
export default class LoginPage {
constructor () {
this.email = Selector('#email');
this.password = Selector('#password');
this.signin = Selector('#signinButton');
}
}
, а затем ясоздали похожие модели страниц для страниц после входа в систему.
В моем тестовом файле я затем создаю экземпляр объекта страницы входа в систему, запускаю тест страницы входа в систему
// my_test_spec.js
test('login in', async t => {
await t
.typeText(loginPage.email, config.name)
.typeText(loginPage.password, config.password)
.click(loginPage.signin);
await t.expect(getURL()).contains(pageUrl);
});
test('second test', async t => {
console.log('Creating a new experience');
await t
.click(// click a button on the following page);
});
Проблема заключается в запуске второго тестаиз login page
и, конечно, он не работает, потому что не может найти идентификаторы страницы после входа в систему.
Как это можно сделать?