API JavaScript di Test ed esamiTake a Test JavaScript API

Eseguire un test è un'app UWP basata su browser che consente di eseguire il rendering di valutazioni online bloccate per i test di puntamento elevato, consentendo agli educatori di concentrarsi sul contenuto della valutazione piuttosto che su come fornire un ambiente di testing protetto.Take a Test is a browser-based UWP app that renders locked-down online assessments for high-stakes testing, allowing educators to focus on the assessment content rather than how to provide a secure testing environment. A tale scopo, viene utilizzata un'API JavaScript che può essere utilizzata da qualsiasi applicazione Web.To achieve this, it uses a JavaScript API that any web application can utilize. L'API Take-a-test supporta lo standard API browser SBAC per i test di base comuni di stake.The Take-a-test API supports the SBAC browser API standard for high stakes common core testing.

Per altre informazioni sull'app stessa, vedere riferimento tecnico per l'app di test.See the Take a Test app technical reference for more information about the app itself. Per informazioni per la risoluzione dei problemi, vedi Risolvere errori di Microsoft Test ed esami con il Visualizzatore eventi.For troubleshooting help, see Troubleshoot Microsoft Take a Test with the event viewer.

Documentazione di riferimentoReference documentation

Le API Take a test sono presenti negli spazi dei nomi seguenti.The Take a Test APIs exist in the following namespaces. Si noti che tutte le API dipendono da un SecureBrowser oggetto globale.Note that all of the APIs depend on a global SecureBrowser object.

Spazio dei nomiNamespace DescrizioneDescription
spazio dei nomi di sicurezzasecurity namespace Contiene le API che consentono di bloccare il dispositivo per il test e applicare un ambiente di testing.Contains APIs that enable you to lock down the device for testing and enforce a testing environment.

Spazio dei nomi securitySecurity namespace

Lo spazio dei nomi di sicurezza consente di bloccare il dispositivo, controllare l'elenco di processi utente e di sistema, ottenere indirizzi IP e MAC e cancellare le risorse Web memorizzate nella cache.The security namespace allows you to lock down the device, check the list of user and system processes, obtain MAC and IP addresses, and clear cached web resources.

MetodoMethod DescrizioneDescription
BloccolockDown Blocca il dispositivo per il test.Locks down the device for testing.
isEnvironmentSecureisEnvironmentSecure Determina se il contesto di blocco è ancora applicato al dispositivo.Determines whether the lockdown context is still applied to the device.
getDeviceInfogetDeviceInfo Ottiene i dettagli sulla piattaforma in cui è in esecuzione l'applicazione di test.Gets details about the platform on which the testing application is running.
examineProcessListexamineProcessList Ottiene l'elenco dei processi utente e di sistema in esecuzione.Gets the list of running user and system processes.
closeclose Chiude il browser e sblocca il dispositivo.Closes the browser and unlocks the device.
getPermissiveModegetPermissiveMode Controlla se la modalità permissiva è attiva o disattivata.Checks if permissive mode is on or off.
setPermissiveModesetPermissiveMode Attiva o disattiva la modalità permissiva.Toggles permissive mode on or off.
emptyClipBoardemptyClipBoard Cancella gli Appunti di sistema.Clears the system clipboard.
getMACAddressgetMACAddress Ottiene l'elenco di indirizzi MAC per il dispositivo.Gets the list of MAC addresses for the device.
getStartTimegetStartTime Ottiene l'ora in cui è stata avviata l'applicazione di test.Gets the time that the testing app was started.
GetCapabilitygetCapability Esegue una query se una funzionalità è abilitata o disabilitata.Queries whether a capability is enabled or disabled.
Funzionalità disetCapability Abilita o Disabilita la funzionalità specificata.Enables or disables the specified capability.
isRemoteSessionisRemoteSession Controlla se la sessione corrente è stata registrata in remoto.Checks if the current session is logged in remotely.
isVMSessionisVMSession Controlla se la sessione corrente è in esecuzione in una macchina virtuale.Checks if the current session is running in a virtual machine.

BloccolockDown

Blocca il dispositivo.Locks down the device. Usato anche per sbloccare il dispositivo.Also used to unlock the device. L'applicazione Web di test richiama questa chiamata prima di consentire agli studenti di avviare il test.The testing web application will invoke this call prior to allowing students to start testing. L'implementatore è necessario per eseguire le azioni necessarie per proteggere l'ambiente di test.The implementer is required to take any actions necessary to secure the testing environment. I passaggi necessari per proteggere l'ambiente sono specifici del dispositivo e, ad esempio, includono aspetti come la disabilitazione delle acquisizioni di schermate, la disabilitazione della chat vocale in modalità protetta, la cancellazione degli Appunti di sistema, l'immissione in modalità tutto schermo, la disabilitazione di spazi nei dispositivi OSX 10.7 + e così via. L'applicazione di test consentirà il blocco prima dell'inizio di una valutazione e il blocco verrà disabilitato quando lo studente avrà completato la valutazione ed è fuori dal test protetto.The steps taken to secure the environment are device specific and for example, include aspects such as disabling screen captures, disabling voice chat when in secure mode, clearing the system clipboard, entering into a kiosk mode, disabling Spaces in OSX 10.7+ devices, etc. The testing application will enable lockdown before an assessment commences and will disable the lockdown when the student has completed the assessment and is out of the secure test.

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

ParametriParameters

  • enable - true per eseguire l'app Take-a-test sopra la schermata di blocco e applicare i criteri descritti in questo documento.enable - true to run the Take-a-Test app above the lock screen and apply policies discussed in this document. false arresta l'esecuzione di test di test sopra la schermata di blocco e la chiude a meno che l'app non sia bloccata; in tal caso non si verifica alcun effetto.false stops running Take-a-Test above the lock screen and closes it unless the app is not locked down; in which case there is no effect.
  • onSuccess -[facoltativo] funzione da chiamare dopo la corretta abilitazione o disabilitazione del blocco.onSuccess - [optional] The function to call after the lockdown has been successfully enabled or disabled. Il formato deve essere Function(Boolean currentlockdownstate) .It must be of the form Function(Boolean currentlockdownstate).
  • onError -[facoltativo] funzione da chiamare se l'operazione di blocco non è riuscita.onError - [optional] The function to call if the lockdown operation failed. Il formato deve essere Function(Boolean currentlockdownstate) .It must be of the form Function(Boolean currentlockdownstate).

RequirementsRequirements
Windows 10, versione 1709Windows 10, version 1709


isEnvironmentSecureisEnvironmentSecure

Determina se il contesto di blocco è ancora applicato al dispositivo.Determines whether the lockdown context is still applied to the device. L'applicazione Web di testing richiama questa operazione prima di consentire agli studenti di avviare i test e periodicamente all'interno del test.The testing web application will invoke this prior to allowing students to start testing and periodically when inside the test.

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

ParametriParameters

  • callback : Funzione da chiamare al completamento della funzione.callback - The function to call when this function completes. Deve avere il formato in Function(String state) cui state è una stringa JSON contenente due campi.It must be of the form Function(String state) where state is a JSON string containing two fields. Il primo è il secure campo, che verrà visualizzato true solo se tutti i blocchi necessari sono stati abilitati (o funzionalità disabilitate) per abilitare un ambiente di testing sicuro e nessuno di questi è stato compromesso dal momento in cui l'app è passata alla modalità di blocco.The first is the secure field, which will show true only if all necessary locks have been enabled (or features disabled) to enable a secure testing environment, and none of these have been compromised since the app entered the lockdown mode. L'altro campo, messageKey , include altri dettagli o informazioni specifiche del fornitore.The other field, messageKey, includes other details or information that is vendor-specific. Lo scopo è quello di consentire ai fornitori di inserire informazioni aggiuntive che aumentino il secure flag booleano:The intent here is to allow vendors to put additional information that augments the boolean secure flag:
{
    'secure' : "true/false",
    'messageKey' : "some message"
}

RequirementsRequirements
Windows 10, versione 1709Windows 10, version 1709


getDeviceInfogetDeviceInfo

Ottiene i dettagli sulla piattaforma in cui è in esecuzione l'applicazione di test.Gets details about the platform on which the testing application is running. Viene utilizzato per aumentare le informazioni che sono state individuate dall'agente utente.This is used to augment any information that was discernible from the user agent.

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

ParametriParameters

  • callback : Funzione da chiamare al completamento della funzione.callback - The function to call when this function completes. Deve avere il formato in Function(String infoObj) cui infoObj è una stringa JSON contenente diversi campi.It must be of the form Function(String infoObj) where infoObj is a JSON string containing several fields. È necessario supportare i campi seguenti:The following fields must be supported:
    • os rappresenta il tipo di sistema operativo, ad esempio Windows, macOS, Linux, iOS, Android e così via.os represents the OS type (for example: Windows, macOS, Linux, iOS, Android, etc.)
    • name rappresenta il nome della versione del sistema operativo, se presente (ad esempio: Sierra, Ubuntu).name represents the OS release name, if any (for example: Sierra, Ubuntu).
    • version rappresenta la versione del sistema operativo (ad esempio: 10,1, 10 Pro e così via)version represents the OS version (for example: 10.1, 10 Pro, etc.)
    • brand rappresenta la personalizzazione del browser protetta, ad esempio: OAKS, CA, SmarterApp e così via.brand represents the secure browser branding (for example: OAKS, CA, SmarterApp, etc.)
    • model rappresenta il modello di dispositivo solo per i dispositivi mobili; null/non usato per i browser desktop.model represents the device model for mobile devices only; null/unused for desktop browsers.

RequirementsRequirements
Windows 10, versione 1709Windows 10, version 1709


examineProcessListexamineProcessList

Ottiene l'elenco di tutti i processi in esecuzione nel computer client di proprietà dell'utente.Gets the list of all processes running on the client machine owned by the user. L'applicazione di test richiamerà questo oggetto per esaminare l'elenco e confrontarlo con un elenco di processi che sono stati ritenuti nella blacklist durante il ciclo di test.The testing application will invoke this to examine the list and compare it with a list of processes that have been deemed blacklisted during testing cycle. Questa chiamata deve essere richiamata sia all'inizio di una valutazione che periodicamente mentre lo studente sta eseguendo la valutazione.This call should be invoked both at the start of an assessment and periodically while the student is taking the assessment. Se viene rilevato un processo in blacklist, la valutazione deve essere arrestata per mantenere l'integrità dei test.If a blacklisted process is detected, the assessment should be stopped to preserve test integrity.

SintassiSyntax
void SecureBrowser.security.examineProcessList(String[] blacklistedProcessList, Function callback);

ParametriParameters

  • blacklistedProcessList : L'elenco dei processi che l'applicazione di test ha inserito nella blacklist.blacklistedProcessList - The list of processes that the testing application has blacklisted.
    callback : Funzione da richiamare una volta che sono stati trovati i processi attivi.callback - The function to invoke once the active processes have been found. Deve avere il formato seguente: Function(String foundBlacklistedProcesses) dove foundBlacklistedProcesses è nel formato: "['process1.exe','process2.exe','processEtc.exe']" .It must be in the form: Function(String foundBlacklistedProcesses) where foundBlacklistedProcesses is in the form: "['process1.exe','process2.exe','processEtc.exe']". Se non sono stati trovati processi in blacklist, sarà vuoto.It will be empty if no blacklisted processes were found. Se è null, indica che si è verificato un errore nella chiamata di funzione originale.If it is null, this indicates that an error occurred in the original function call.

Osservazioni L'elenco non include i processi di sistema.Remarks The list does not include system processes.

RequirementsRequirements
Windows 10, versione 1709Windows 10, version 1709


chiudiclose

Chiude il browser e sblocca il dispositivo.Closes the browser and unlocks the device. L'applicazione di test dovrebbe richiamare questa operazione quando l'utente sceglie di uscire dal browser.The testing application should invoke this when the user elects to exit the browser.

SintassiSyntax
void SecureBrowser.security.close(restart);

ParametriParameters

  • restart -Questo parametro viene ignorato, ma deve essere specificato.restart - This parameter is ignored but must be provided.

Osservazioni In Windows 10, versione 1607, il dispositivo deve essere inizialmente bloccato.Remarks In Windows 10, version 1607, the device must be locked down initially. Nelle versioni successive, questo metodo chiude il browser indipendentemente dal fatto che il dispositivo sia bloccato.In later versions, this method closes the browser regardless of whether the device is locked down.

RequirementsRequirements
Windows 10, versione 1709Windows 10, version 1709


getPermissiveModegetPermissiveMode

L'applicazione Web di testing dovrebbe richiamare questo oggetto per determinare se la modalità permissiva è attiva o disattivata.The testing web application should invoke this to determine if permissive mode is on or off. In modalità permissiva, è previsto che un browser rilassi alcuni degli hook di sicurezza più rigorosi per consentire al supporto tecnico di usare il browser protetto.In permissive mode, a browser is expected to relax some of its stringent security hooks to allow assistive technology to work with the secure browser. Ad esempio, i browser che impediscono in modo aggressivo la presentazione di altre interfacce utente dell'applicazione possono rivelarsi più tranquilli in modalità permissiva.For example, browsers that aggressively prevent other application UIs from presenting on top of them might want to relax this when in permissive mode.

SintassiSyntax
void SecureBrowser.security.getPermissiveMode(Function callback)

ParametriParameters

  • callback : Funzione da richiamare al completamento della chiamata.callback - The function to invoke when this call completes. Il formato deve essere: Function(Boolean permissiveMode) dove permissiveMode indica se il browser è attualmente in modalità permissivo.It must be in the form: Function(Boolean permissiveMode) where permissiveMode indicates whether the browser is currently in permissive mode. Se non è definito o null, si è verificato un errore nell'operazione get.If it is undefined or null, an error occurred in the get operation.

RequirementsRequirements
Windows 10, versione 1709Windows 10, version 1709


setPermissiveModesetPermissiveMode

L'applicazione Web di testing dovrebbe richiamare questa opzione per attivare o disattivare la modalità permissiva.The testing web application should invoke this to toggle permissive mode on or off. In modalità permissiva, è previsto che un browser rilassi alcuni degli hook di sicurezza più rigorosi per consentire al supporto tecnico di usare il browser protetto.In permissive mode, a browser is expected to relax some of its stringent security hooks to allow assistive technology to work with the secure browser. Ad esempio, i browser che impediscono in modo aggressivo la presentazione di altre interfacce utente dell'applicazione possono rivelarsi più tranquilli in modalità permissiva.For example, browsers that aggressively prevent other application UIs from presenting on top of them might want to relax this when in permissive mode.

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

ParametriParameters

  • enable : Valore booleano che indica lo stato della modalità permissiva designata.enable - The Boolean value indicating the intended permissive mode status.
  • callback : Funzione da richiamare al completamento della chiamata.callback - The function to invoke when this call completes. Il formato deve essere: Function(Boolean permissiveMode) dove permissiveMode indica se il browser è attualmente in modalità permissivo.It must be in the form: Function(Boolean permissiveMode) where permissiveMode indicates whether the browser is currently in permissive mode. Se non è definito o null, si è verificato un errore nell'operazione di impostazione.If it is undefined or null, an error occurred in the set operation.

RequirementsRequirements
Windows 10, versione 1709Windows 10, version 1709


emptyClipBoardemptyClipBoard

Cancella gli Appunti di sistema.Clears the system clipboard. L'applicazione di test dovrebbe richiamare questa operazione per forzare la cancellazione dei dati che possono essere archiviati negli Appunti di sistema.The testing application should invoke this to force clear any data that may be stored in the system clipboard. La funzione lockDown esegue anche questa operazione.The lockDown function also performs this operation.

SintassiSyntax
void SecureBrowser.security.emptyClipBoard();

RequirementsRequirements
Windows 10, versione 1709Windows 10, version 1709


getMACAddressgetMACAddress

Ottiene l'elenco di indirizzi MAC per il dispositivo.Gets the list of MAC addresses for the device. L'applicazione di test dovrebbe richiamare questa operazione per facilitare la diagnostica.The testing application should invoke this to assist in diagnostics.

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

ParametriParameters

  • callback : Funzione da richiamare al completamento della chiamata.callback - The function to invoke when this call completes. Deve avere il formato seguente: Function(String addressArray) dove addressArray è nel formato: "['00:11:22:33:44:55','etc']" .It must be in the form: Function(String addressArray) where addressArray is in the form: "['00:11:22:33:44:55','etc']".

Osservazioni:Remarks
È difficile affidarsi agli indirizzi IP di origine per distinguere tra i computer degli utenti finali all'interno dei server di test perché i firewall/NAT/proxy sono comunemente utilizzati nelle scuole.It is difficult to rely on source IP addresses to distinguish between end user machines within the testing servers because firewalls/NATs/Proxies are commonly in use at the schools. Gli indirizzi MAC consentono all'app di distinguere i computer client finali protetti da un firewall comune a scopo di diagnostica.The MAC addresses allow the app to distinguish end client machines behind a common firewall for diagnostics purposes.

RequirementsRequirements
Windows 10, versione 1709Windows 10, version 1709


getStartTimegetStartTime

Ottiene l'ora in cui è stata avviata l'applicazione di test.Gets the time that the testing app was started.

SintassiSyntax
DateTime SecureBrowser.security.getStartTime();

RitornoReturn
Oggetto DateTime che indica l'ora in cui è stata avviata l'app di test.A DateTime object indicating the time the testing app was started.

RequirementsRequirements
Windows 10, versione 1709Windows 10, version 1709


GetCapabilitygetCapability

Esegue una query se una funzionalità è abilitata o disabilitata.Queries whether a capability is enabled or disabled.

SintassiSyntax
Object SecureBrowser.security.getCapability(String feature)

ParametriParameters
feature : Stringa per determinare la funzionalità di cui eseguire la query.feature - The string to determine which capability to query. Le stringhe di funzionalità valide sono "screenMonitoring", "Printing" e "textSuggestions" (senza distinzione tra maiuscole e minuscole).Valid capability strings are "screenMonitoring", "printing", and "textSuggestions" (case insensitive).

Valore restituitoReturn Value
Questa funzione restituisce un oggetto o un valore letterale JavaScript nel formato: {<feature>:true|false} .This function returns either a JavaScript Object or literal with the form: {<feature>:true|false}. true se la funzionalità sottoposta a query è abilitata, false se la funzionalità non è abilitata o la stringa della funzionalità non è valida.true if the queried capability is enabled, false if the capability is not enabled or the capability string is invalid.

Requisiti di Windows 10 versione 1703Requirements Windows 10, version 1703


Funzionalità disetCapability

Abilita o Disabilita una funzionalità specifica nel browser.Enables or disables a specific capability on the browser.

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

ParametriParameters

  • feature : Stringa per determinare la funzionalità da impostare.feature - The string to determine which capability to set. Le stringhe di funzionalità valide sono "screenMonitoring" , "printing" e "textSuggestions" (senza distinzione tra maiuscole e minuscole).Valid capability strings are "screenMonitoring", "printing", and "textSuggestions" (case insensitive).
  • value : Impostazione desiderata per la funzionalità.value - The intended setting for the feature. Deve essere "true" o "false" .It must be either "true" or "false".
  • onSuccess -[facoltativo] funzione da chiamare dopo che l'operazione di impostazione è stata completata correttamente.onSuccess - [optional] The function to call after the set operation has been completed successfully. Deve essere Function(String jsonValue) nel formato in cui jsonValue è nel formato: {<feature>:true|false|undefined} .It must be of the form Function(String jsonValue) where jsonValue is in the form: {<feature>:true|false|undefined}.
  • onError -[facoltativo] funzione da chiamare se l'operazione di impostazione non è riuscita.onError - [optional] The function to call if the set operation failed. Deve essere Function(String jsonValue) nel formato in cui jsonValue è nel formato: {<feature>:true|false|undefined} .It must be of the form Function(String jsonValue) where jsonValue is in the form: {<feature>:true|false|undefined}.

Osservazioni:Remarks
Se la funzionalità di destinazione non è nota per il browser, questa funzione passerà il valore undefined alla funzione di callback.If the targeted feature is unknown to the browser, this function will pass a value of undefined to the callback function.

Requisiti di Windows 10 versione 1703Requirements Windows 10, version 1703


isRemoteSessionisRemoteSession

Controlla se la sessione corrente è stata registrata in remoto.Checks if the current session is logged in remotely.

SintassiSyntax
Boolean SecureBrowser.security.isRemoteSession();

Valore restituitoReturn value
true se la sessione corrente è remota; in caso contrario, false .true if the current session is remote, otherwise false .

RequirementsRequirements
Windows 10, versione 1709Windows 10, version 1709


isVMSessionisVMSession

Controlla se la sessione corrente è in esecuzione all'interno di una macchina virtuale.Checks if the current session is running within a virtual machine.

SintassiSyntax
Boolean SecureBrowser.security.isVMSession();

Valore restituitoReturn value
true se la sessione corrente è in esecuzione in una macchina virtuale; in caso contrario, false .true if the current session is running in a virtual machine, otherwise false .

Osservazioni:Remarks
Questo controllo API può rilevare solo le sessioni VM in esecuzione in determinati hypervisor che implementano le API appropriateThis API check can only detect VM sessions that are running in certain hypervisors that implement the appropriate APIs

RequirementsRequirements
Windows 10, versione 1709Windows 10, version 1709