我有一个简单的问题。基本上,我希望能够在不使用任何外部库或包的情况下,在JavaScript中针对不同时区在Web应用程序上运行testcafe测试用例。动态更改浏览器时区的最佳方法是什么?例如,我可以测试datepickers?
我尝试了一些方法,使用下面的代码:
function changeTimezone(date, ianatz) {
var invdate = new Date(date.toLocaleString('en-US', {
timeZone: ianatz
}));
var diff = date.getTime() - invdate.getTime();
const tmz = new Date(date.getTime() - diff);
Date = function(){return tmz;}
return tmz;
}
const setTimeZones = () => {
const myDate = new Date();
var newDate = changeTimezone(myDate, "Pacific/Fiji");
};
当我运行上一个例子时,在选择日期选择器时,它不会在浏览器中更改日期。我已经尝试了几种方法,但都不起作用。我想提一下,我不想在我的机器上更改日期,而是模拟传感器,就像我们在开发工具中的行为一样。这是可能的吗?
1条答案
按热度按时间nukf8bse1#
TestCafe没有API来更改浏览器时区。但是,如果你想像在DevTools中一样模拟时区,你可以使用一个解决方案。测试代码:
html页面:
请注意,解决方法使用内部API,将来可能会更改,因此应谨慎使用。