Mira qué suerte, acabo de hacer algo semejante, n este caso un contador de segundos desde un punto de inicio:
Código:
var tiempoInicio;
var segundos = 0;
function inicioTiempo(){
var tiempo = new Date();
tiempoInicio = tiempo.getTime();
print();
} //INICIOTIEMPO
run () {
tiempoActual=new Date();
diferenciaDate = tiempoActual.getTime() - tiempoInicio;
segundos = Math.floor(diferenciaDate /1000);
setTimeout('print',20);
} //RUN
print () {
ctx.fillText("Segundos: "+ segundos,0,20);
run();
} //PRINT
Lo explico:
1º En una función inicial que solo se ejecuta 1 vez por cuenta cargas la fecha actual y la conviertes en milisegundos.
2º En una función recursiva coges otra vez la fecha actual, la conviertes de nuevo a ms. y la comparas con la fecha inicial que guardas en una variable pública.
3º En esa misma función conviertes el tiempo resultado de la operación anterior a segundos dividiendo entre 1000 y lo redondeas a la baja para tener los segundos transcurridos como resultado.
4º Haces con tus segundos lo que te salga del cucumber.
¡Un saludo!