API de JavaScript Hacer un examen

Hacer un examen es una aplicación para UWP basada en explorador que representa evaluaciones en línea bloqueadas para pruebas decisivas, lo que permite a los educadores centrarse en el contenido de la evaluación en lugar de proporcionar un entorno de prueba seguro. Para lograrlo, usa una API de JavaScript que cualquier aplicación web puede usar. La API Hacer un examen admite el estándar de API del explorador SBAC para pruebas básicas comunes decisivas.

Consulte la referencia técnica de la aplicación Hacer un examen para obtener más información sobre la propia aplicación. Para obtener ayuda para solucionar problemas, consulte Solución de problemas de Hacer un examen de Microsoft con el visor de eventos.

Documentación de referencia

Las API de Hacer un examen existen en los siguientes espacios de nombres. Tenga en cuenta que todas las API dependen de un objeto global SecureBrowser.

Espacio de nombres Descripción
Espacio de nombres de seguridad Contiene API que permiten bloquear el dispositivo para realizar pruebas y aplicar un entorno de prueba.

Espacio de nombres de seguridad

El espacio de nombres de seguridad permite bloquear el dispositivo, consultar la lista de procesos de usuario y de sistema, obtener direcciones IP y MAC y borrar los recursos web en caché.

Method Descripción
lockDown Bloquea el dispositivo para realizar pruebas.
isEnvironmentSecure Determina si el contexto de bloqueo todavía se aplica al dispositivo.
getDeviceInfo Obtiene detalles sobre la plataforma en la que se ejecuta la aplicación de prueba.
examineProcessList Obtiene la lista de procesos del usuario y del sistema en ejecución
close Cierra el explorador y desbloquea el dispositivo.
getPermissiveMode Comprueba si el modo permisivo está activado o desactivado.
setPermissiveMode Activa o desactiva el modo permisivo.
emptyClipBoard Borra el Portapapeles del sistema.
getMACAddress Obtiene la lista de direcciones MAC del dispositivo.
getStartTime Obtiene la hora en que se inició la aplicación de prueba.
getCapability Consulta si una funcionalidad está habilitada o deshabilitada.
setCapability Habilita o deshabilita la funcionalidad especificada.
isRemoteSession Comprueba si la sesión actual se registra de forma remota.
isVMSession Comprueba si la sesión actual se ejecuta en una máquina virtual.

lockDown

Bloquea el dispositivo. También se usa para desbloquear el dispositivo. La aplicación web de prueba invocará esta llamada antes de permitir que los alumnos inicien las pruebas. El implementador debe realizar las acciones necesarias para proteger el entorno de prueba. Los pasos que se realizan para proteger el entorno son específicos del dispositivo y, por ejemplo, incluyen aspectos como deshabilitar las capturas de pantalla, deshabilitar el chat de voz cuando está en modo seguro, borrar el Portapapeles del sistema, entrar en modo de pantalla completa, deshabilitar Spaces en dispositivos OSX 10.7+, etc. La aplicación de prueba habilitará el bloqueo antes de que comience una evaluación y deshabilitará el bloqueo cuando el alumno haya completado la evaluación y esté fuera de la prueba segura.

Sintaxis
void SecureBrowser.security.lockDown(Boolean enable, Function onSuccess, Function onError);

Parámetros

  • enable - true para ejecutar la aplicación Hacer un examen pasando por alto la pantalla de bloqueo y aplicar las directivas descritas en este documento. false deja de ejecutar Hacer un examen encima de la pantalla de bloqueo y lo cierra a menos que la aplicación no esté bloqueada, en cuyo caso no hay ningún efecto.
  • onSuccess: [opcional] Función a la que se llamará después de que el bloqueo se haya habilitado o deshabilitado correctamente. Debe tener el formato Function(Boolean currentlockdownstate).
  • onError: [opcional] Función a la que se llamará si se produce un error en la operación de bloqueo. Debe tener el formato Function(Boolean currentlockdownstate).

Requisitos
Windows 10, versión 1709 o posterior


isEnvironmentSecure

Determina si el contexto de bloqueo todavía se aplica al dispositivo. La aplicación web de pruebas lo invocará antes de permitir que los alumnos inicien pruebas y periódicamente cuando se encuentren en la prueba.

Sintaxis
void SecureBrowser.security.isEnvironmentSecure(Function callback);

Parámetros

  • callback: función a la que se va a llamar cuando se completa esta función. Debe ser del formulario Function(String state) donde state es una cadena JSON que contiene dos campos. El primero es el campo secure, que solo mostrará true si todos los bloqueos necesarios se han habilitado (o las características se han deshabilitado) para habilitar un entorno de prueba seguro, y ninguno de estos se ha puesto en peligro desde que la aplicación entró en el modo de bloqueo. El otro campo, messageKey, incluye otros detalles o información que son específicos del proveedor. La intención es permitir que los proveedores coloquen información adicional que aumente la marca booleana secure:
{
    'secure' : "true/false",
    'messageKey' : "some message"
}

Requisitos
Windows 10, versión 1709 o posterior


getDeviceInfo

Obtiene detalles sobre la plataforma en la que se ejecuta la aplicación de prueba. Esto se usa para aumentar cualquier información que se pudiera distinguir del agente de usuario.

Sintaxis
void SecureBrowser.security.getDeviceInfo(Function callback);

Parámetros

  • callback: función a la que se va a llamar cuando se completa esta función. Debe ser del formulario Function(String infoObj), donde infoObj es una cadena JSON que contiene varios campos. Se deben admitir los siguientes campos:
    • os representa el tipo de sistema operativo (por ejemplo: Windows, macOS, Linux, iOS, Android, etc.).
    • name representa el nombre de la versión del sistema operativo, si existe (por ejemplo: Sierra, Ubuntu).
    • version representa la versión del sistema operativo (por ejemplo: 10.1, 10 Pro, etc.).
    • brand representa la personalización de marca segura del explorador (por ejemplo: OAKS, CA, SmarterApp, etc.).
    • model representa el modelo de dispositivo solo para dispositivos móviles; null o sin usar para exploradores de escritorio.

Requisitos
Windows 10, versión 1709 o posterior


examineProcessList

Obtiene la lista de todos los procesos que se ejecutan en la máquina cliente propiedad del usuario. La aplicación de prueba lo invocará para examinar la lista y compararla con una lista de procesos que se han incorporado a una lista de denegados durante el ciclo de pruebas. Esta llamada debe invocarse al principio de una evaluación y periódicamente mientras el alumno realiza la evaluación. Si se detecta un proceso de la lista de denegación, se debe detener la evaluación para conservar la integridad de las pruebas.

Sintaxis
void SecureBrowser.security.examineProcessList(String[] denylistedProcessList, Function callback);

Parámetros

  • denylistedProcessList: la lista de procesos que la aplicación de prueba ha puesto en la lista de denegación.
    callback: función que se va a invocar una vez que se hayan encontrado los procesos activos. Debe tener el formato: Function(String foundDenylistedProcesses) donde foundDenylistedProcesses está en el formato: "['process1.exe','process2.exe','processEtc.exe']". Estará vacía si no se encontraron procesos enumerados en la lista de denegación. Si es null, indica que se produjo un error en la llamada de función original.

Comentarios La lista no incluye procesos del sistema.

Requisitos
Windows 10, versión 1709 o posterior


close

Cierra el explorador y desbloquea el dispositivo. La aplicación de prueba debe invocarlo cuando el usuario elige salir del explorador.

Sintaxis
void SecureBrowser.security.close(restart);

Parámetros

  • restart: Este parámetro se ignora, pero debe proporcionarse.

Comentarios En Windows 10, versión 1607, el dispositivo debe bloquearse inicialmente. En versiones posteriores, este método cierra el explorador independientemente de si el dispositivo está bloqueado.

Requisitos
Windows 10, versión 1709 o posterior


getPermissiveMode

La aplicación web de prueba debe invocar esto para determinar si el modo permisivo está activado o desactivado. En modo permisivo, se espera que un explorador relaje algunos de sus estrictos enlaces de seguridad para permitir que la tecnología de asistencia funcione con el navegador seguro. Por ejemplo, los exploradores que impiden agresivamente que las interfaces de usuario de otras aplicaciones se presenten encima de ellos podrían relajar la restricción cuando se encuentran en modo permisivo.

Sintaxis
void SecureBrowser.security.getPermissiveMode(Function callback)

Parámetros

  • callback: la función que se va a invocar cuando se completa esta llamada. Debe estar en el formulario: Function(Boolean permissiveMode) donde permissiveMode indica si el explorador está actualmente en modo permisivo. Si no está definido o es null, se produjo un error en la operación get.

Requisitos
Windows 10, versión 1709 o posterior


setPermissiveMode

La aplicación web de prueba debe invocarlo para activar o desactivar el modo permisivo. En modo permisivo, se espera que un explorador relaje algunos de sus estrictos enlaces de seguridad para permitir que la tecnología de asistencia funcione con el navegador seguro. Por ejemplo, los exploradores que impiden agresivamente que las interfaces de usuario de otras aplicaciones se presenten encima de ellos podrían relajar la restricción cuando se encuentran en modo permisivo.

Sintaxis
void SecureBrowser.security.setPermissiveMode(Boolean enable, Function callback)

Parámetros

  • enable: valor booleano que indica el estado del modo permisivo previsto.
  • callback: la función que se va a invocar cuando se completa esta llamada. Debe estar en el formulario: Function(Boolean permissiveMode) donde permissiveMode indica si el explorador está actualmente en modo permisivo. Si no está definido o es null, se produjo un error en la operación set.

Requisitos
Windows 10, versión 1709 o posterior


emptyClipBoard

Borra el Portapapeles del sistema. La aplicación de prueba debe invocarlo para forzar la eliminación de los datos que pueden estar almacenados en el Portapapeles del sistema. La función lockDown también realiza esta operación.

Sintaxis
void SecureBrowser.security.emptyClipBoard();

Requisitos
Windows 10, versión 1709 o posterior


getMACAddress

Obtiene la lista de direcciones MAC del dispositivo. La aplicación de prueba debe invocarlo para ayudar en los diagnósticos.

Sintaxis
void SecureBrowser.security.getMACAddress(Function callback);

Parámetros

  • callback: la función que se va a invocar cuando se completa esta llamada. Debe tener el formato: Function(String addressArray) donde addressArray está en el formato: "['00:11:22:33:44:55','etc']".

Observaciones
Es difícil confiar en las direcciones IP de origen para distinguir entre las máquinas de usuario final dentro de los servidores de prueba, ya que los firewalls, NAT o servidores proxy suelen usarse en los centros educativos. Las direcciones MAC permiten a la aplicación distinguir las máquinas cliente finales detrás de un firewall común con fines de diagnóstico.

Requisitos
Windows 10, versión 1709 o posterior


getStartTime

Obtiene la hora en que se inició la aplicación de prueba.

Sintaxis
DateTime SecureBrowser.security.getStartTime();

Return
Objeto DateTime que indica la hora en que se inició la aplicación de prueba.

Requisitos
Windows 10, versión 1709 o posterior


getCapability

Consulta si una funcionalidad está habilitada o deshabilitada.

Sintaxis
Object SecureBrowser.security.getCapability(String feature)

Parámetros
feature: cadena para determinar qué capacidad se va a consultar. Las cadenas de funcionalidad válidas son "screenMonitoring", "printing" y "textSuggestions" (no distinguen mayúsculas de minúsculas).

Valor devuelto
Esta función devuelve un objeto JavaScript o un literal con el formato: {<feature>:true|false}. True si la funcionalidad consultada está habilitada, false si la funcionalidad no está habilitada o la cadena de funcionalidad no es válida.

Requisitos Windows 10, versión 1703 o posterior


setCapability

Habilita o deshabilita una funcionalidad específica en el explorador.

Sintaxis
void SecureBrowser.security.setCapability(String feature, String value, Function onSuccess, Function onError)

Parámetros

  • feature: cadena para determinar qué capacidad se va a establecer. Las cadenas de funcionalidad válidas son "screenMonitoring", "printing" y "textSuggestions" (sin distinción entre mayúsculas y minúsculas).
  • value: la configuración prevista para la característica. Debe ser "true" o "false".
  • onSuccess: [opcional] Función a la que se llamará después de que la operación set se haya completado correctamente. Debe tener el formato Function(String jsonValue) en el que jsonValue esté en el formato: {<feature>:true|false|undefined}.
  • onError: [opcional] Función a la que se llamará si se produjo un error en la operación set. Debe tener el formato Function(String jsonValue) en el que jsonValue esté en el formato: {<feature>:true|false|undefined}.

Observaciones
Si la característica de destino es desconocida para el explorador, esta función pasará un valor de undefined a la función de devolución de llamada.

Requisitos Windows 10, versión 1703 o posterior


isRemoteSession

Comprueba si la sesión actual se registra de forma remota.

Sintaxis
Boolean SecureBrowser.security.isRemoteSession();

Valor devuelto
true si la sesión actual es remota; de lo contrario, false.

Requisitos
Windows 10, versión 1709 o posterior


isVMSession

Comprueba si la sesión actual se ejecuta dentro de una máquina virtual.

Sintaxis
Boolean SecureBrowser.security.isVMSession();

Valor devuelto
true si la sesión actual se ejecuta en una máquina virtual; de lo contrario, false.

Observaciones
Esta comprobación de la API solo puede detectar sesiones de máquina virtual que se ejecutan en determinados hipervisores que implementan las API adecuadas.

Requisitos
Windows 10, versión 1709 o posterior