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 formatoFunction(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 formatoFunction(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 formularioFunction(String state)
dondestate
es una cadena JSON que contiene dos campos. El primero es el camposecure
, 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 booleanasecure
:
{
'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 formularioFunction(String infoObj)
, dondeinfoObj
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)
dondefoundDenylistedProcesses
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)
dondepermissiveMode
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)
dondepermissiveMode
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)
dondeaddressArray
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 formatoFunction(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 formatoFunction(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