En este ejemplo se utiliza el objeto AutoSignon para crear una macro que utiliza las credenciales asociadas a un usuario para obtener un ticket de paso del Digital Certificate Access Server (servidor de acceso a certificados digitales, DCAS).
var macro = createMacro(function*() {
'use strict';
// Obtener PresentationSpace para interactuar con el host
var ps = session.getPresentationSpace();
// Variable para ticket de paso de inicio de sesión
var passTicket;
// ID de inicio de sesión en aplicación
var appId = 'CICSV41A';
// Establecer el tiempo de espera predeterminado para las funciones "wait"
wait.setDefaultTimeout(10000);
// Inicio Macro Generada
try {
yield wait.forCursor(new Position(24, 2));
// Obtener un ticket de paso de DCAS.
passTicket = yield autoSignon.getPassTicket(appId);
ps.sendKeys('cics');
ps.sendKeys(ControlKey.ENTER);
yield wait.forCursor(new Position(10, 26));
// Sustituir nombre de usuario generado por sendUserName(passTicket) ...
yield autoSignon.sendUserName(passTicket);
// ps.sendKeys('bvtst01' + ControlKey.TAB + ControlKey.TAB);
ps.sendKeys(ControlKey.TAB + ControlKey.TAB);
yield wait.forCursor(new Position(11, 26));
// Sustituir contraseña generada por sendPassword(passTicket) ...
yield autoSignon.sendPassword(passTicket);
// var userInput3 = yield ui.prompt('Contraseña:', '', true);
// if (userInput3 === null) {
// throw new Error('Password not provided');
// }
// ps.sendKeys(userInput3);
ps.sendKeys(ControlKey.ENTER);
yield wait.forCursor(new Position(1, 1));
yield ui.message('Logged in. Log me off.');
ps.sendKeys('cesf logoff');
ps.sendKeys(ControlKey.ENTER);
} catch (error) {
yield ui.message(error);
}
//Fin Macro Generada
});
// Ejecutar la macro
return macro();