У кого-нибудь есть совместные роли TestCafe, Firebase и TestCafe? - PullRequest
0 голосов
/ 01 апреля 2020

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 });

1 Ответ

2 голосов
/ 06 апреля 2020

См. Подробное объяснение в этом комментарии.

...