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

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

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

2 ответа

Решение

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

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


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

Мы можем добиться этого с помощью окон узлов.. Сначала установите окна узлов, используя команду 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 ")

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

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

Другие вопросы по тегам