Таким образом, backstop. js предоставляет возможность запускать пользовательский сценарий для базового движка. Я использую кукловод в качестве движка, поэтому я пытаюсь смоделировать Date.now
с помощью 'onReadyScript':
page.evaluate('window.Date.now = () => 0; Date.now = () => 0;');
...
page.addScriptTag({
// btw `console.log` here is not executed, do I use it in wrong way?
content: 'Date.now = () => 0;'
});
...
page.evaluate(() => {
window.Date.now = () => 0;
Date.now = () => 0;
});
Последний, я думаю, изменяет дату в контексте узла, а не внутри кукловода, но в любом случае пытался это также хорошо.
Ничего не сработало, тестируемый скрипт по-прежнему выводит real Date.now
. Также я проверил Переопределить дату браузера при помощи кукловода , но это не помогло мне.
Да, я знаю, что могу пропустить определенные селекторы, но это не всегда имеет смысл (подумайте о часах со стрелками).