gpt4 book ai didi

javascript - 在 Protractor 测试中设置浏览器时区

转载 作者:行者123 更新时间:2023-11-30 00:33:17 24 4
gpt4 key购买 nike

我正在从事一个使用 Protractor 进行端到端测试的项目。

一些测试,需要验证日期/时间。在我们的持续交付平台上测试正常,确保时区保持稳定。

但是,当测试在本地计算机上运行时,时区可能会更改,测试会失败,因为捕获的浏览器正在不同的时区上运行。

我需要以某种方式通过 Protractor 控制时区,以便进行独立于平台的测试。

这可能吗?

最佳答案

迟到的答案,但也许将来有人可以使用它...它有点丑,但我还没有发现任何更漂亮的东西。它可能不适合你,这取决于你的应用程序如何检测时区。如果它与 getTimezoneOffset() 一起使用,这将起作用。

基本上它重写了 Date() 类,并向其添加了 setTimezoneOffset()。

  1. 将 TimeShift.js 添加到您的助手中:https://github.com/cvakiitho/TimeShift-js/blob/master/timeshift.js
  2. 在您的测试中加载 TimeShift:var TimeShift = require('./helpers/timeshift.js');
  3. 执行 TimeShift,并更改时区:

    dvr = browser.driver;
    dvr.executeScript(TimeShift).then(function(){
    dvr.executeScript('' +
    'angular.isDate = function(x){return x instanceof Date};' +
    'Date = TimeShift.Date;' +
    'TimeShift.setTimezoneOffset(60);' +
    });

注意:每次页面刷新都会破坏它。

关于javascript - 在 Protractor 测试中设置浏览器时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28341059/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com