Bil*_*oon 13 javascript playwright
当我编写要在 playwright 中运行的测试时,我希望能够设置浏览器认为测试开始的日期。有没有办法使用剧作家来实现这一点?
您可以使用TimeShift等模拟工具。这段代码将注入时移库,然后注入日期Feb 02 2012:
const playwright = require("playwright");
(async () => {
let removed = false;
const browser = await playwright["chromium"].launch({headless: false});
const page = await browser.newPage();
await page.setContent('<a href="#" onclick="document.querySelector(\'span\').innerText = new Date().toString()">Test me</a><span></span>');
await page.click('a');
console.log(await page.innerText('span'));
await page.addScriptTag({ url: 'https://cdn.jsdelivr.net/npm/timeshift-js@1.1.1/timeshift.js'});
await page.evaluate(() => {
Date = TimeShift.Date;
TimeShift.setTime(1328230923000);
});
await page.click('a');
console.log(await page.innerText('span'));
browser.close();
})();
Run Code Online (Sandbox Code Playgroud)
输出:
Fri Sep 18 2020 15:06:58 GMT-0300 (Argentina Standard Time)
Thu Feb 02 2012 22:02:03 GMT-0300
Run Code Online (Sandbox Code Playgroud)