API JavaScript di Test ed esami
Test ed esami è un'app UWP basata su browser che esegue il rendering di valutazioni online bloccate per test di alto livello, consentendo ai docenti di concentrarsi sul contenuto della valutazione anziché su come fornire un ambiente di test sicuro. A tale scopo, usa un'API JavaScript che può essere usata da qualsiasi applicazione Web. L'API take-a-test supporta lo standard dell'API del browser SBAC per i test di base comuni.
Per altre informazioni sull'app stessa, vedere le informazioni tecniche di Test ed esami app. Per informazioni sulla risoluzione dei problemi, vedere Risolvere i problemi relativi a Microsoft Test ed esami con il visualizzatore eventi.
Documentazione di riferimento
Le API Test ed esami esistono negli spazi dei nomi seguenti. Si noti che tutte le API dipendono da un oggetto globale SecureBrowser
.
Spazio dei nomi | Descrizione |
---|---|
spazio dei nomi security | Contiene API che consentono di bloccare il dispositivo per il test e applicare un ambiente di test. |
Spazio dei nomi security
Lo spazio dei nomi di sicurezza consente di bloccare il dispositivo, controllare l'elenco dei processi utente e di sistema, ottenere indirizzi MAC e IP e cancellare le risorse Web memorizzate nella cache.
metodo | Descrizione |
---|---|
lockDown | Blocca il dispositivo per il test. |
isEnvironmentSecure | Determina se il contesto di blocco viene ancora applicato al dispositivo. |
getDeviceInfo | Ottiene informazioni dettagliate sulla piattaforma in cui è in esecuzione l'applicazione di test. |
examineProcessList | Ottiene l'elenco dei processi utente e di sistema in esecuzione. |
close | Chiude il browser e sblocca il dispositivo. |
getPermissiveMode | Controlla se la modalità permissiva è attivata o disattivata. |
setPermissiveMode | Attiva o disattiva la modalità permissiva. |
emptyClipBoard | Cancella gli Appunti di sistema. |
getMACAddress | Ottiene l'elenco di indirizzi MAC per il dispositivo. |
getStartTime | Ottiene l'ora di avvio dell'app di test. |
getCapability | Esegue una query che indica se una funzionalità è abilitata o disabilitata. |
setCapability | Abilita o disabilita la capacità specificata. |
isRemoteSession | Controlla se la sessione corrente è registrata in modalità remota. |
isVMSession | Controlla se la sessione corrente è in esecuzione in una macchina virtuale. |
lockDown
Arrestare il dispositivo. Usato anche per sbloccare il dispositivo. L'applicazione Web di test richiamerà questa chiamata prima di consentire agli studenti di avviare il test. L'implementatore deve eseguire tutte le azioni necessarie per proteggere l'ambiente di test. I passaggi eseguiti per proteggere l'ambiente sono specifici del dispositivo e, ad esempio, includono aspetti come la disabilitazione delle acquisizioni dello schermo, la disabilitazione della chat vocale in modalità protetta, la cancellazione degli Appunti di sistema, l'ingresso in una modalità tutto schermo, la disabilitazione di Spazi nei dispositivi OSX 10.7+ e così via. L'applicazione di test abiliterà il blocco prima della avvio di una valutazione e disabiliterà il blocco quando lo studente ha completato la valutazione ed è fuori dal test sicuro.
Sintassi
void SecureBrowser.security.lockDown(Boolean enable, Function onSuccess, Function onError);
Parametri
enable
- true per eseguire l'app Take-a-Test sopra la schermata di blocco e applicare i criteri descritti in questo documento. false arresta l'esecuzione di test di esecuzione al di sopra della schermata di blocco e la chiude, a meno che l'app non sia bloccata. In questo caso non vi è alcun effetto.onSuccess
- [facoltativo] La funzione da chiamare dopo che il blocco è stato abilitato o disabilitato. Sarà nel formatoFunction(Boolean currentlockdownstate)
.onError
- [facoltativo] Funzione da chiamare se l'operazione di blocco non è riuscita. Sarà nel formatoFunction(Boolean currentlockdownstate)
.
Requisiti
Windows 10, versione 1709 o successiva
isEnvironmentSecure
Determina se il contesto di blocco viene ancora applicato al dispositivo. L'applicazione Web di test richiamerà questa operazione prima di consentire agli studenti di avviare il test e periodicamente all'interno del test.
Sintassi
void SecureBrowser.security.isEnvironmentSecure(Function callback);
Parametri
callback
- Funzione da chiamare al termine di questa funzione. Deve essere del moduloFunction(String state)
in cuistate
è una stringa JSON contenente due campi. Il primo è ilsecure
campo , che mostreràtrue
solo se tutti i blocchi necessari sono stati abilitati (o funzionalità disabilitate) per abilitare un ambiente di test sicuro e nessuno di questi è stato compromesso dopo che l'app ha immesso la modalità di blocco. L'altro campo,messageKey
, include altri dettagli o informazioni specifiche del fornitore. L'intento è consentire ai fornitori di inserire informazioni aggiuntive che aumentano il flag booleanosecure
:
{
'secure' : "true/false",
'messageKey' : "some message"
}
Requisiti
Windows 10 versione 1709 o successive
getDeviceInfo
Ottiene informazioni dettagliate sulla piattaforma in cui è in esecuzione l'applicazione di test. Viene usato per aumentare tutte le informazioni che erano riconoscibili dall'agente utente.
Sintassi
void SecureBrowser.security.getDeviceInfo(Function callback);
Parametri
callback
- Funzione da chiamare al termine di questa funzione. Deve essere del moduloFunction(String infoObj)
in cuiinfoObj
è una stringa JSON contenente diversi campi. Devono essere supportati i seguenti campi:os
rappresenta il tipo di sistema operativo (ad esempio: Windows, macOS, Linux, iOS, Android e così via)name
rappresenta il nome della versione del sistema operativo, se presente, ad esempio Sierra, Ubuntu.version
rappresenta la versione del sistema operativo (ad esempio: 10.1, 10 Pro e così via)brand
rappresenta la personalizzazione sicura del browser (ad esempio: OAKS, CA, SmarterApp e così via)model
rappresenta il modello di dispositivo solo per i dispositivi mobili; null/inutilizzato per i browser desktop.
Requisiti
Windows 10 versione 1709 o successive
examineProcessList
Ottiene l'elenco di tutti i processi in esecuzione nel computer client di proprietà dell'utente. L'applicazione di test lo richiamerà per esaminare l'elenco e confrontarlo con un elenco di processi considerati non elencati durante il ciclo di test. Questa chiamata deve essere richiamata sia all'inizio di una valutazione che periodicamente mentre lo studente sta prendendo la valutazione. Se viene rilevato un processo di elenco di rifiuto, la valutazione deve essere arrestata per mantenere l'integrità dei test.
Sintassi
void SecureBrowser.security.examineProcessList(String[] denylistedProcessList, Function callback);
Parametri
denylistedProcessList
- Elenco dei processi elencati dall'applicazione di test.
callback
- Funzione da richiamare dopo che i processi attivi sono stati trovati. Deve essere nel formato :Function(String foundDenylistedProcesses)
dovefoundDenylistedProcesses
è nel formato :"['process1.exe','process2.exe','processEtc.exe']"
. Sarà vuoto se non sono stati trovati processi di elenco di rifiuto. Se è Null, indica che si è verificato un errore nella chiamata di funzione originale.
Osservazioni L'elenco non include i processi di sistema.
Requisiti
Windows 10 versione 1709 o successive
close
Chiude il browser e sblocca il dispositivo. L'applicazione di test deve richiamarla quando l'utente sceglie di uscire dal browser.
Sintassi
void SecureBrowser.security.close(restart);
Parametri
restart
- Questo parametro viene ignorato ma deve essere specificato.
Osservazioni In Windows 10, versione 1607, il dispositivo deve essere bloccato inizialmente. Nelle versioni successive, questo metodo chiude il browser indipendentemente dal fatto che il dispositivo sia bloccato.
Requisiti
Windows 10 versione 1709 o successive
getPermissiveMode
L'applicazione Web di test deve richiamarla per determinare se la modalità permissiva è attivata o disattivata. In modalità permissiva, un browser dovrebbe rilassare alcuni dei suoi rigorosi hook di sicurezza per consentire all'assistive technology di lavorare con il browser sicuro. Ad esempio, i browser che impediscono in modo aggressivo ad altre interfacce utente dell'applicazione di presentare sopra di loro potrebbero voler rilassarsi quando in modalità permissiva.
Sintassi
void SecureBrowser.security.getPermissiveMode(Function callback)
Parametri
callback
- Funzione da chiamare al termine di questa funzione. Deve essere nel formato:Function(Boolean permissiveMode)
dovepermissiveMode
indica se il browser è attualmente in modalità permissiva. Se non è definito o null, si è verificato un errore nell'operazione get.
Requisiti
Windows 10 versione 1709 o successive
setPermissiveMode
L'applicazione Web di test deve richiamare questa opzione per attivare o disattivare la modalità permissiva. In modalità permissiva, un browser dovrebbe rilassare alcuni dei suoi rigorosi hook di sicurezza per consentire all'assistive technology di lavorare con il browser sicuro. Ad esempio, i browser che impediscono in modo aggressivo ad altre interfacce utente dell'applicazione di presentare sopra di loro potrebbero voler rilassarsi quando in modalità permissiva.
Sintassi
void SecureBrowser.security.setPermissiveMode(Boolean enable, Function callback)
Parametri
enable
- Valore booleano che indica lo stato della modalità permissiva prevista.callback
- Funzione da chiamare al termine di questa funzione. Deve essere nel formato:Function(Boolean permissiveMode)
dovepermissiveMode
indica se il browser è attualmente in modalità permissiva. Se non è definito o null, si è verificato un errore nell'operazione get.
Requisiti
Windows 10 versione 1709 o successive
emptyClipBoard
Cancella gli Appunti di sistema. L'applicazione di test deve richiamarla per forzare la cancellazione dei dati che possono essere archiviati negli Appunti di sistema. La funzione lockDown esegue anche questa operazione.
Sintassi
void SecureBrowser.security.emptyClipBoard();
Requisiti
Windows 10 versione 1709 o successive
getMACAddress
Ottiene l'elenco di indirizzi MAC per il dispositivo. L'applicazione di test deve richiamarla per facilitare la diagnostica.
Sintassi
void SecureBrowser.security.getMACAddress(Function callback);
Parametri
callback
- Funzione da chiamare al termine di questa funzione. Deve essere nel formato :Function(String addressArray)
doveaddressArray
è nel formato :"['00:11:22:33:44:55','etc']"
.
Osservazioni:
È difficile basarsi sugli indirizzi IP di origine per distinguere tra i computer degli utenti finali all'interno dei server di test perché firewall/NATs/Proxy sono comunemente usati nelle scuole. Gli indirizzi MAC consentono all'app di distinguere i computer client finali dietro un firewall comune a scopo di diagnostica.
Requisiti
Windows 10 versione 1709 o successive
getStartTime
Ottiene l'ora di avvio dell'app di test.
Sintassi
DateTime SecureBrowser.security.getStartTime();
Restituzione
Oggetto DateTime che indica l'ora di avvio dell'app di test.
Requisiti
Windows 10 versione 1709 o successive
getCapability
Esegue una query che indica se una funzionalità è abilitata o disabilitata.
Sintassi
Object SecureBrowser.security.getCapability(String feature)
Parametri
feature
- Stringa per determinare la funzionalità di query. Le stringhe di funzionalità valide sono "screenMonitoring", "printing" e "textSuggestions" (senza distinzione tra maiuscole e minuscole).
Valore restituito
Questa funzione restituisce un oggetto JavaScript o un valore letterale con il formato : {<feature>:true|false}
. true se la funzionalità di query è abilitata, false se la funzionalità non è abilitata o la stringa di funzionalità non è valida.
Requisiti di Windows 10, versione 1703 o successiva
setCapability
Abilita o disabilita una funzionalità specifica nel browser.
Sintassi
void SecureBrowser.security.setCapability(String feature, String value, Function onSuccess, Function onError)
Parametri
feature
- Stringa per determinare la capacità di impostare. Le stringhe di funzionalità valide sono"screenMonitoring"
,"printing"
e (senza distinzione tra maiuscole e"textSuggestions"
minuscole).value
- Impostazione prevista per la funzionalità. Deve essere"true"
o"false"
.onSuccess
- [facoltativo] La funzione da chiamare dopo il completamento dell'operazione di impostazione. Deve essere nel formatoFunction(String jsonValue)
in cui jsonValue è nel formato :{<feature>:true|false|undefined}
.onError
- [facoltativo] Funzione da chiamare se l'operazione per impostare è fallita. Deve essere nel formatoFunction(String jsonValue)
in cui jsonValue è nel formato :{<feature>:true|false|undefined}
.
Osservazioni:
Se la funzionalità di destinazione è sconosciuta al browser, questa funzione passerà un valore di undefined
alla funzione di callback.
Requisiti di Windows 10, versione 1703 o successiva
isRemoteSession
Controlla se la sessione corrente è registrata in modalità remota.
Sintassi
Boolean SecureBrowser.security.isRemoteSession();
Valore restituito
true se la sessione corrente è remota; in caso contrario , false.
Requisiti
Windows 10, versione 1709 o successiva
isVMSession
Controlla se la sessione corrente è in esecuzione in una macchina virtuale.
Sintassi
Boolean SecureBrowser.security.isVMSession();
Valore restituito
true se la sessione corrente è in esecuzione in una macchina virtuale; in caso contrario , false.
Osservazioni:
Questo controllo API può rilevare solo le sessioni di macchine virtuali in esecuzione in determinati hypervisor che implementano le API appropriate
Requisiti
Windows 10, versione 1709 o successiva