Как изменить дату и время моего компьютерного устройства с помощью транспортира

Мне нужно проверить, истекли ли объявления через 6 месяцев. В настоящее время я успешно проверяю правильность объявления или нет.

Через 6 месяцев его необходимо удалить из конкретной вкладки. Проблема в том, как с помощью транспортира смоделировать системное время на 6 месяцев вперед?


person rajana sekhar    schedule 07.01.2015    source источник
comment
Я не думаю, что изменение системного времени - хороший подход. Вы можете создать «объявление» в прошлую дату (6 месяцев назад). Затем, когда время истекает, вы можете проверить, истек ли срок действия объявления!   -  person Sakshi Singla    schedule 07.01.2015
comment
Спасибо @SakshiSingla, я знал, но мне нужен поток в этом тесте. по вашему мнению, если мы создадим объявление в прошлую дату (6 месяцев назад), срок его действия истечет прямо сейчас, но я хочу проверить, объявлено объявление или нет, в промежутке между созданием и истечением срока действия.   -  person rajana sekhar    schedule 07.01.2015


Ответы (3)


Подумайте об этом по-другому.

Смоделируйте ответ HTTP, который отправляет ваше приложение, содержащий объявления, и установите нужную дату с помощью библиотеки protractor-http-mock. . Другими словами, пусть интерфейс думает, что объявление просрочено.


Альтернативные варианты включают имитацию времени с помощью Sinon.js или TimeShift.js, но лично я считаю, что использование этих инструментов было бы чрезмерным усложнением. В любом случае, см.:

person alecxe    schedule 07.01.2015

Если у вас есть законная потребность манипулировать датой и временем браузера во время тестирования с помощью транспортира, я собрал здесь запись: Как изменить дату браузера в транспортире.

Я согласен с тем, что вы должны дважды подумать, прежде чем использовать этот подход, поскольку насмешливые ответы в большинстве случаев принесут то, что вы хотите.

person zayquan    schedule 11.10.2017

Мы можем добиться этого с помощью окон узлов. Сначала установите окна узлов, используя команду npm i node-windows..

Код:

   const win = require('node-windows')
   const sys = require('util')
    let dateTime    = new Date("10-10-2007) //Convert string or number to date
    let day     = dateTime.getDate() 
    let month   = dateTime.getUTCMonth() + 1 
    let year    = dateTime.getFullYear() 
    let updateD = `${month}-${day}-${year}` //Format the string correctly according to thesystme format
    console.log(updateD)
    //Add a callback function (this can be somewhere else)
    function execCallback(error, stdout, stderr) { 
         if (error) {
             console.log(error)
         } else {
             console.log(stdout) 
         }
    }
    console.log(" execute in command prompt now")

    var exec = win.elevate(`cmd /c date ${updateD}`,undefined, execCallback);

    console.log(" execution completed ")
person Chinnu    schedule 11.10.2019