Я только начал использовать CodeceptJS, и у меня возникли некоторые проблемы с работой команды seeVisualDiffForElement
.
Пока это мой тестовый код:
Feature('MyTest');
Scenario('Creating base images and comparing using the same command but ran twice', (I) => {
I.amOnPage('https://testsite-90d35.firebaseapp.com/');
I.wait(1);
I.saveScreenshot("Test1.png");
I.wait(1);
I.seeVisualDiff("Test1.png", {tolerance: 0, prepareBaseImage: true});
});
Scenario ('Comparing the blue button on the page', async (I) => {
I.amOnPage('https://testsite-90d35.firebaseapp.com/testPage.html');
I.wait(1);
I.saveScreenshot("Test1.png");
I.wait(1);
I.seeVisualDiffForElement(".btnBlue","Test1.png", {tolerance: 0, prepareBaseImage: false});
});
Когда язапустить этот код, он открывает браузер Chromium (как я использую его с Puppeteer) и проходит через первый сценарий просто отлично.Делает скриншот и сохраняет его как базовое изображение.Затем я должен закрыть браузер, чтобы запустить следующий сценарий.После запуска второго сценария тест не пройден, но все еще создаются снимки экрана.Снимки экрана отличаются, как и должно быть, но скриншот diff не содержит каких-либо изменений.
В документации для CodeceptJS говорится, что "seeVisualDiffForElement
работает только тогда, когда страница для baseImage открыта в браузере,так что веб-драйвер может получить координаты предоставленного селектора ".Мой браузер открыт, но не тот браузер, который создал базовое изображение (так как я должен закрыть его, чтобы запустить 2-й сценарий).Может быть, поэтому тест не пройден и не распознает никаких изменений?Или кто-то может увидеть что-то еще, что я делаю не так?
Я также пытался запустить тесты как один сценарий, но он выдает мне тот же результат.