Javascript 在量角器测试中设置浏览器时区
我正在做一个项目,e2e测试是用量角器进行的 有些测试需要验证日期/时间。在我们的持续交付平台上测试正常,确保时区保持稳定 但是,当测试在本地计算机上运行时,时区可能会发生变化,测试会失败,因为捕获的浏览器正在不同的时区上运行 我需要,不知何故,通过量角器控制时区,以便进行独立于平台的测试Javascript 在量角器测试中设置浏览器时区,javascript,selenium,protractor,angularjs-e2e,Javascript,Selenium,Protractor,Angularjs E2e,我正在做一个项目,e2e测试是用量角器进行的 有些测试需要验证日期/时间。在我们的持续交付平台上测试正常,确保时区保持稳定 但是,当测试在本地计算机上运行时,时区可能会发生变化,测试会失败,因为捕获的浏览器正在不同的时区上运行 我需要,不知何故,通过量角器控制时区,以便进行独立于平台的测试 这可能吗?回答晚了,但也许将来会有人使用它……它有点难看,但我还没有发现比它更漂亮的东西。它可能不适合你,这取决于你的应用程序如何检测时区。如果是使用getTimezoneOffset(),这将起作用 基本上
这可能吗?回答晚了,但也许将来会有人使用它……它有点难看,但我还没有发现比它更漂亮的东西。它可能不适合你,这取决于你的应用程序如何检测时区。如果是使用getTimezoneOffset(),这将起作用 基本上,它重写Date()类,并向其中添加setTimezoneOffset()
var TimeShift=require('./helpers/TimeShift.js')代码>
dvr = browser.driver;
dvr.executeScript(TimeShift).then(function(){
dvr.executeScript('' +
'angular.isDate = function(x){return x instanceof Date};' +
'Date = TimeShift.Date;' +
'TimeShift.setTimezoneOffset(60);' +
});