TestCafe, Firebase, роли, похоже, не работают вместе.
Следующие тесты TestCafe, похоже, теряют состояние роли при использовании сайта на основе Firebase. (Используется демонстрационный сайт Google Firebase).
У меня есть гораздо больший, проприетарный пример, где базовый c тест работает с более старыми версиями Firebase, но простой переход на более новую версию приводит к сбою теста (потеря состояния после выхода из useRole), поэтому Я подозреваю какую-то несовместимость между TestCafe, Roles и Firebase, но не могу понять, что происходит ....
Кто-нибудь успешно использовал последние версии Firebase и TestCafe для работы с ролями?
(я также создал здесь проблему с github: https://github.com/DevExpress/testcafe/issues/4939)
import { Selector, Role } from 'testcafe';
const ackTerms = Selector('span.mdl-checkbox__tick-outline');
const checkBox = Selector('.mdl-checkbox.is-checked');
const role1 = Role('https://friendly-pix.com/', async t => {
await t
.expect(checkBox.count).eql(0)
.click(ackTerms)
.expect(checkBox.count).eql(1) //on
.click(ackTerms)
.expect(checkBox.count).eql(0) // off
.click(ackTerms)
.expect(checkBox.count).eql(1); // on, when we exit Role creation.
// at this point the check box is checked.
}, {preserveUrl: true});
fixture `Friendly Pix test`
.page `https://friendly-pix.com/`;
test('Roles test', async t => {
await t
.wait(5000) // just let everything settle down.
.useRole(role1)
// when useRole is done, the check box should be still checked, however when you get to this breakpoint it will not be.
.expect(checkBox.count).eql(1)
// but clicking still works...if you remove the above assertion.
.click(ackTerms) //off
.click(ackTerms); //on
});