Freigeben über


JavaScript-API „Prüfung”

Prüfung ist eine browserbasierte UWP-App, die gesperrte Onlinebewertungen für Tests mit hohem Einsatz rendert, sodass Lehrkräfte sich auf die Bewertungsinhalte konzentrieren können, statt auf die Bereitstellung einer sicheren Testumgebung. Um dies zu erreichen, verwendet sie eine JavaScript-API, die jede Webanwendung nutzen kann. Die „Prüfung“-API unterstützt den SBAC-Browser-API-Standard für allgemeine Kerntests.

Weitere Informationen zur App selbst finden Sie in der technischen Referenz zur App „Prüfung“. Hilfe zur Problembehandlung finden Sie unter Problembehandlung bei Microsoft Prüfung mit der Ereignisanzeige.

Referenzdokumentation

Die Prüfung-APIs sind in den folgenden Namespaces vorhanden. Beachten Sie, dass alle APIs von einem globalen SecureBrowser-Objekt abhängen.

Namespace Beschreibung
Sicherheitsnamespace Enthält APIs, mit denen Sie das Gerät zum Testen sperren und eine Testumgebung erzwingen können.

Sicherheitsnamespace

Mit dem Sicherheitsnamespace können Sie das Gerät sperren, die Liste der Benutzer- und Systemprozesse überprüfen, MAC- und IP-Adressen abrufen und zwischengespeicherte Webressourcen löschen.

Methode Beschreibung
lockDown Sperrt das Gerät zum Testen.
isEnvironmentSecure Bestimmt, ob der Sperrmoduskontext weiterhin auf das Gerät angewendet wird.
getDeviceInfo Ruft Details zur Plattform ab, auf der die Testanwendung ausgeführt wird.
examineProcessList Ruft die Liste der ausgeführten Benutzer- und Systemprozesse ab.
close Schließt den Browser und entsperrt das Gerät.
getPermissiveMode Überprüft, ob der zulässige Modus aktiviert oder deaktiviert ist.
setPermissiveMode Schaltet den zulässigen Modus ein oder aus.
emptyClipBoard Löscht die System-Zwischenablage.
getMACAddress Ruft die Liste der MAC-Adressen für das Gerät ab.
getStartTime Ruft die Zeit ab, zu der die Test-App gestartet wurde.
getCapability Fragt ab, ob eine Funktion aktiviert oder deaktiviert ist.
setCapability Aktiviert oder deaktiviert die angegebene Funktion.
isRemoteSession Überprüft, ob die aktuelle Sitzung remote angemeldet ist.
isVMSession Überprüft, ob die aktuelle Sitzung auf einem virtuellen Computer ausgeführt wird.

lockDown

Sperrt das Gerät. Wird auch zum Entsperren des Geräts verwendet. Die Testwebanwendung ruft diesen Aufruf auf, bevor Lernende mit dem Testen beginnen können. Der Implementierer ist erforderlich, um alle erforderlichen Maßnahmen zum Sichern der Testumgebung auszuführen. Die Schritte zum Sichern der Umgebung sind gerätespezifisch und umfassen beispielsweise Aspekte wie das Deaktivieren von Bildschirmaufnahmen, das Deaktivieren des Sprachchats im abgesicherten Modus, das Löschen der System-Zwischenablage, den Wechsel in einen Kioskmodus, das Deaktivieren von Spaces auf OSX 10.7+-Geräten usw. Die Testanwendung aktiviert die Sperrung, bevor eine Bewertung beginnt, und deaktiviert die Sperrung, wenn der Lernende die Bewertung abgeschlossen hat und sich außerhalb des sicheren Tests befindet.

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

Parameter

  • enable - true, um die „Prüfung“-App über dem Sperrbildschirm auszuführen und Richtlinien anzuwenden, die in diesem Dokumenterläutert wurden. false beendet die Ausführung von „Prüfung“ über dem Sperrbildschirm und schließt sie, es sei denn, die App ist nicht gesperrt. In diesem Fall geschieht nichts.
  • onSuccess - [optional] Die Funktion, die aufgerufen werden soll, nachdem die Sperrung erfolgreich aktiviert oder deaktiviert wurde. Sie muss die Form Function(Boolean currentlockdownstate) haben.
  • onError - [optional] Die Funktion, die aufgerufen werden soll, wenn der Sperrmodusvorgang fehlgeschlagen ist. Sie muss die Form Function(Boolean currentlockdownstate) haben.

Anforderungen
Windows 10, Version 1709 oder höher


isEnvironmentSecure

Bestimmt, ob der Sperrmoduskontext weiterhin auf das Gerät angewendet wird. Die Testwebanwendung ruft dies auf, bevor Lernende den Test starten können, und in regelmäßigen Abständen, wenn sie sich innerhalb des Tests befinden.

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

Parameter

  • callback – Die Funktion, die aufgerufen werden soll, wenn diese Funktion abgeschlossen ist. Sie muss die Form Function(String state) haben, wobei es sich bei state um eine JSON-Zeichenfolge mit zwei Feldern handelt. Das erste ist das secure-Feld, das true nur dann anzeigt, wenn alle erforderlichen Sperren aktiviert (oder Features deaktiviert) wurden, um eine sichere Testumgebung zu aktivieren, und keine dieser Funktionen kompromittiert wurde, seit die App in den Sperrmodus gewechselt ist. Das andere Feld, messageKey, enthält weitere Details oder Informationen, die anbieterspezifisch sind. Im Folgenden sollen Anbieter zusätzliche Informationen einfügen, die das boolesche secure-Flag erweitern:
{
    'secure' : "true/false",
    'messageKey' : "some message"
}

Anforderungen
Windows 10, Version 1709 oder höher


getDeviceInfo

Ruft Details zur Plattform ab, auf der die Testanwendung ausgeführt wird. Dies wird verwendet, um alle Informationen zu erweitern, die vom Benutzer-Agent erkannt wurden.

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

Parameter

  • callback – Die Funktion, die aufgerufen werden soll, wenn diese Funktion abgeschlossen ist. Sie muss die Form Function(String infoObj) haben, wobei es sich bei infoObj um eine JSON-Zeichenfolge handelt, die mehrere Felder enthält. Die folgenden Felder müssen unterstützt werden:
    • os stellt den Betriebssystemtyp dar (z. B. Windows, macOS, Linux, iOS, Android usw.)
    • name stellt den Betriebssystemversionsnamen dar, falls vorhanden (z. B. Sierra, Ubuntu).
    • version stellt die Betriebssystemversion dar (z. B. 10.1, 10 Pro usw.)
    • brand stellt das sichere Browserbranding dar (z. B. OAKS, CA, SmarterApp usw.)
    • model stellt das Gerätemodell nur für mobile Geräte dar; null/nicht verwendet für Desktopbrowser.

Anforderungen
Windows 10, Version 1709 oder höher


examineProcessList

Ruft die Liste aller Prozesse ab, die auf dem Clientcomputer ausgeführt werden und dem Benutzer gehören. Die Testanwendung ruft dies auf, um die Liste zu untersuchen und mit einer Liste der Prozesse zu vergleichen, die während des Testzyklus als auf der Verweigerungsliste eingestuft wurden. Dieser Aufruf sollte sowohl zu Beginn einer Bewertung als auch in regelmäßigen Abständen aufgerufen werden, während der Lernende*r die Bewertung absolviert. Wenn ein Prozess auf der Verweigerungsliste erkannt wird, sollte die Bewertung angehalten werden, um die Testintegrität beizubehalten.

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

Parameter

  • denylistedProcessList - Die Liste der Prozesse, die die Testanwendung auf die Verweigerungsliste gesetzt hat.
    callback - Die Funktion, die aufgerufen werden soll, sobald die aktiven Prozesse gefunden wurden. Sie muss folgende Form haben: Function(String foundDenylistedProcesses), wobei foundDenylistedProcesses diese Form hat: "['process1.exe','process2.exe','processEtc.exe']". Sie ist leer, wenn keine Prozesse auf der Verweigerungsliste gefunden wurden. Wenn sie „null“ ist, gibt dies an, dass im ursprünglichen Funktionsaufruf ein Fehler aufgetreten ist.

Hinweise Die Liste enthält keine Systemprozesse.

Anforderungen
Windows 10, Version 1709 oder höher


close

Schließt den Browser und entsperrt das Gerät. Die Testanwendung sollte dies aufrufen, wenn sich der Benutzer entscheidet, den Browser zu beenden.

Syntax
void SecureBrowser.security.close(restart);

Parameter

  • restart - Dieser Parameter wird ignoriert, muss aber angegeben werden.

Hinweise in Windows 10, Version 1607, muss das Gerät zunächst gesperrt werden. In späteren Versionen schließt diese Methode den Browser, unabhängig davon, ob das Gerät gesperrt ist.

Anforderungen
Windows 10, Version 1709 oder höher


getPermissiveMode

Die Test-Webanwendung sollte diese Funktion aufrufen, um festzustellen, ob der zulässige Modus aktiviert oder deaktiviert ist. Im zulässigen Modus wird erwartet, dass ein Browser einige seiner strengen Sicherheitshaken entspannt, damit Hilfstechnologien mit dem sicheren Browser funktionieren können. Browser, die andere Anwendungs-UIs beispielsweise aggressiv daran hindern, über ihnen angezeigt zu werden, sollten dies möglicherweise lockern, wenn sie im zulässigen Modus sind.

Syntax
void SecureBrowser.security.getPermissiveMode(Function callback)

Parameter

  • callback - Die Funktion, die aufgerufen werden soll, wenn dieser Aufruf abgeschlossen ist. Sie muss diese Form haben: Function(Boolean permissiveMode), wobei permissiveMode angibt, ob sich der Browser derzeit im zulässigen Modus befindet. Wenn sie nicht definiert oder null ist, ist ein Fehler im Abrufvorgang aufgetreten.

Anforderungen
Windows 10, Version 1709 oder höher


setPermissiveMode

Die Test-Webanwendung sollte dies aufrufen, um den zulässigen Modus ein- oder auszuschalten. Im zulässigen Modus wird erwartet, dass ein Browser einige seiner strengen Sicherheitshaken entspannt, damit Hilfstechnologien mit dem sicheren Browser funktionieren können. Browser, die andere Anwendungs-UIs beispielsweise aggressiv daran hindern, über ihnen angezeigt zu werden, sollten dies möglicherweise lockern, wenn sie im zulässigen Modus sind.

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

Parameter

  • enable - Der boolesche Wert, der den beabsichtigten Status des zulässigen Modus angibt.
  • callback - Die Funktion, die aufgerufen werden soll, wenn dieser Aufruf abgeschlossen ist. Sie muss diese Form haben: Function(Boolean permissiveMode), wobei permissiveMode angibt, ob sich der Browser derzeit im zulässigen Modus befindet. Wenn sie nicht definiert oder null ist, ist im Einrichtungsvorgang ein Fehler aufgetreten.

Anforderungen
Windows 10, Version 1709 oder höher


emptyClipBoard

Löscht die System-Zwischenablage. Die Testanwendung sollte dies aufrufen, um das Löschen von Daten zu erzwingen, die eventuell in der System-Zwischenablage gespeichert sind. Die lockDown-Funktion führt auch diesen Vorgang aus.

Syntax
void SecureBrowser.security.emptyClipBoard();

Anforderungen
Windows 10, Version 1709 oder höher


getMACAddress

Ruft die Liste der MAC-Adressen für das Gerät ab. Die Testanwendung sollte dies aufrufen, um die Diagnose zu unterstützen.

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

Parameter

  • callback - Die Funktion, die aufgerufen werden soll, wenn dieser Aufruf abgeschlossen ist. Sie muss folgende Form haben: Function(String addressArray), wobei addressArray diese Form hat: "['00:11:22:33:44:55','etc']".

Anmerkungen
Es ist schwierig, sich auf Quell-IP-Adressen zu verlassen, um zwischen Endbenutzercomputern innerhalb der Testserver zu unterscheiden, da Firewalls/NATs/Proxys häufig in den Schulen verwendet werden. Die MAC-Adressen ermöglichen es der App, Endclientcomputer für Diagnosezwecke hinter einer allgemeinen Firewall zu unterscheiden.

Anforderungen
Windows 10, Version 1709 oder höher


getStartTime

Ruft die Zeit ab, zu der die Test-App gestartet wurde.

Syntax
DateTime SecureBrowser.security.getStartTime();

Return
Ein DateTime-Objekt, das angibt, wann die Test-App gestartet wurde.

Anforderungen
Windows 10, Version 1709 oder höher


getCapability

Fragt ab, ob eine Funktion aktiviert oder deaktiviert ist.

Syntax
Object SecureBrowser.security.getCapability(String feature)

Parameter
feature - Die Zeichenfolge, die bestimmt, welche Funktion abzufragen ist. Gültige Funktionszeichenfolgen sind „screenMonitoring“, „printing“ und „textSuggestions“ (Groß-/Kleinschreibung wird nicht beachtet).

Rückgabewert
Diese Funktion gibt entweder ein JavaScript-Objekt oder ein Literal mit folgender Form zurück: {<feature>:true|false}. true , wenn die abgefragte Funktion aktiviert ist, false, wenn die Funktion nicht aktiviert ist oder die Funktionszeichenfolge ungültig ist.

Anforderungen Windows 10, Version 1703 oder höher


setCapability

Aktiviert oder deaktiviert eine bestimmte Funktion im Browser.

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

Parameter

  • feature - Die Zeichenfolge, die bestimmt, welche Funktion festgelegt werden soll. Gültige Funktionszeichenfolgen sind "screenMonitoring", "printing" und "textSuggestions" (Groß-/Kleinschreibung wird nicht beachtet).
  • value - Die beabsichtigte Einstellung für das Feature. Sie muss entweder "true" oder "false" sein.
  • onSuccess - [optional] Die Funktion, die aufgerufen werden soll, nachdem der Einrichtungsvorgang erfolgreich abgeschlossen wurde. Sie muss die Form Function(String jsonValue) haben, wobei jsonValue diese Form hat: {<feature>:true|false|undefined}.
  • onError - [optional] Die Funktion, die aufgerufen werden soll, wenn der Einrichtungsvorgang fehlgeschlagen ist. Sie muss die Form Function(String jsonValue) haben, wobei jsonValue diese Form hat: {<feature>:true|false|undefined}.

Anmerkungen
Wenn das Zielfeature für den Browser unbekannt ist, übergibt diese Funktion den Wert undefined an die Rückruffunktion.

Anforderungen Windows 10, Version 1703 oder höher


isRemoteSession

Überprüft, ob die aktuelle Sitzung remote angemeldet ist.

Syntax
Boolean SecureBrowser.security.isRemoteSession();

Rückgabewert
true, wenn die aktuelle Sitzung remote ist, andernfalls false.

Anforderungen
Windows 10, Version 1709 oder höher


isVMSession

Überprüft, ob die aktuelle Sitzung auf einer VM ausgeführt wird.

Syntax
Boolean SecureBrowser.security.isVMSession();

Rückgabewert
true, wenn die aktuelle Sitzung auf einer VM ausgeführt wird, andernfalls false.

Anmerkungen
Diese API-Überprüfung kann nur VM-Sitzungen erkennen, die in bestimmten Hypervisoren ausgeführt werden, die die entsprechenden APIs implementieren

Anforderungen
Windows 10, Version 1709 oder höher