Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Тестирование — это браузерное приложение UWP, которое отображает заблокированные онлайн-оценки для тестирования с высоким уровнем ставок, что позволяет преподавателям сосредоточиться на содержимом оценки, а не о том, как обеспечить безопасную среду тестирования. Для этого используется API JavaScript, который может использовать любое веб-приложение. API тестирования take-a-test поддерживает стандартный API браузера SBAC для высокоуровневого тестирования основных компонентов.
Дополнительные сведения о самом приложении см. в техническом справочнике по тестированию приложения. Сведения об устранении неполадок см. в статье "Устранение неполадок Microsoft Take a Test" с помощью средства просмотра событий.
Справочная документация
API "Take a Test" существуют в следующих пространствах имен. Обратите внимание, что все API зависят от глобального SecureBrowser объекта.
| Namespace | Description |
|---|---|
| пространство имен безопасности | Содержит API-интерфейсы, позволяющие заблокировать устройство для тестирования и применить среду тестирования. |
Пространство имен безопасности
Пространство имен безопасности позволяет заблокировать устройство, проверить список процессов пользователя и системы, получить MAC и IP-адреса и очистить кэшированные веб-ресурсы.
| Метод | Description |
|---|---|
| lockDown | Блокирует устройство для тестирования. |
| isEnvironmentSecure | Определяет, применяется ли контекст блокировки к устройству. |
| getDeviceInfo | Получает сведения о платформе, на которой выполняется тестовое приложение. |
| examineProcessList | Возвращает список запущенных процессов пользователей и системных процессов. |
| закрывать | Закрывает браузер и разблокирует устройство. |
| getPermissiveMode | Проверяет, включен ли или отключен режим разрешительного режима. |
| setPermissiveMode | Включает или выключает разрешающий режим. |
| emptyClipBoard | Очищает системный буфер обмена. |
| getMACAddress | Возвращает список MAC-адресов для устройства. |
| getStartTime | Возвращает время запуска приложения тестирования. |
| getCapability | Запрашивает, включена ли или отключена возможность. |
| setCapability | Включает или отключает указанную возможность. |
| isRemoteSession | Проверяет, выполнен ли текущий сеанс удаленно. |
| isVMSession | Проверяет, запущен ли текущий сеанс на виртуальной машине. |
lockDown
Блокирует устройство. Также используется для разблокировки устройства. Тестовое веб-приложение вызовет этот вызов, прежде чем разрешить учащимся начать тестирование. Необходимо выполнить любые действия, необходимые для защиты среды тестирования. Действия, предпринятые для защиты среды, зависят от устройства и, например, включают такие аспекты, как отключение захвата экрана, отключение голосового чата в безопасном режиме, очистка системного буфера обмена, перевод устройства в режим киоска, отключение функции Spaces на устройствах с OSX 10.7+ и другие меры. Тестовое приложение активирует блокировку до начала оценки и отключит её, когда учащийся завершит оценку и выйдет из безопасного режима тестирования.
Syntax
void SecureBrowser.security.lockDown(Boolean enable, Function onSuccess, Function onError);
Параметры
-
enable- true, чтобы запустить приложение Take-a-Test поверх экрана блокировки и применить политики, описанные в технической справке по приложению Take-a-Test. false останавливает выполнение Take-a-Test над экраном блокировки и закрывает его, если приложение не заблокировано; в этом случае это не оказывает никакого эффекта. -
onSuccess— [необязательно] Функция для вызова после успешного включения или отключения блокировки. Он должен иметь формуFunction(Boolean currentlockdownstate). -
onError— [необязательно] Функция для вызова, если операция блокировки завершилась сбоем. Он должен иметь формуFunction(Boolean currentlockdownstate).
Требования
Windows 10 версии 1709 или более поздней
isEnvironmentSecure
Определяет, применяется ли контекст блокировки к устройству. Тестовое веб-приложение вызовет это перед тем, как учащиеся начнут тестировать и периодически при выполнении теста.
Syntax
void SecureBrowser.security.isEnvironmentSecure(Function callback);
Параметры
-
callback— Функция, вызываемая при завершении этой функции. Он должен иметь формуFunction(String state), вstateкоторой находится строка JSON, содержащая два поля. Первое поле,secure, будет отображатьсяtrueтолько в том случае, если все необходимые блокировки активированы (или функции отключены) для обеспечения безопасной тестовой среды, и ни одна из них не была скомпрометирована с момента, как приложение перешло в режим блокировки. Другое полеmessageKeyсодержит другие сведения или сведения, относящиеся к поставщику. Здесь необходимо разрешить поставщикам добавлять дополнительные сведения, которые расширяют логическийsecureфлаг:
{
'secure' : "true/false",
'messageKey' : "some message"
}
Требования
Windows 10 версии 1709 или более поздней
getDeviceInfo
Получает сведения о платформе, на которой выполняется тестовое приложение. Его используют для дополнения любой информации, определяемой из агента пользователя.
Syntax
void SecureBrowser.security.getDeviceInfo(Function callback);
Параметры
-
callback— Функция, вызываемая при завершении этой функции. Он должен иметь формуFunction(String infoObj), в которойinfoObjнаходится строка JSON, содержащая несколько полей. Следующие поля должны поддерживаться:-
osпредставляет тип ОС (например, Windows, macOS, Linux, iOS, Android и т. д.) -
nameпредставляет имя выпуска ОС, если таковой есть (например, Sierra, Ubuntu). -
versionпредставляет версию ОС (например, 10.1, 10 Pro и т. д.) -
brandпредставляет безопасную фирменную символику браузера (например, OAKS, CA, SmarterApp и т. д.) -
modelпредставляет модель устройства только для мобильных устройств; нулевое значение/не используется для настольных браузеров.
-
Требования
Windows 10 версии 1709 или более поздней
examineProcessList
Возвращает список всех процессов, выполняемых на клиентском компьютере, принадлежаемом пользователю. Тестовое приложение вызовет это, чтобы изучить список и сравнить его со списком процессов, которые были признаны запрещенными во время цикла тестирования. Этот вызов должен вызываться как в начале оценки, так и периодически, пока учащийся принимает оценку. Если обнаружен запрещенный процесс, оценка должна быть остановлена, чтобы сохранить целостность теста.
Syntax
void SecureBrowser.security.examineProcessList(String[] denylistedProcessList, Function callback);
Параметры
-
denylistedProcessList— список процессов, которые тестируемое приложение внесло в черный список.
callback— Функция, вызываемая после обнаружения активных процессов. Он должен находиться в форме:Function(String foundDenylistedProcesses)гдеfoundDenylistedProcessesнаходится в форме:"['process1.exe','process2.exe','processEtc.exe']"Он будет пустым, если не найдены запрещенные процессы. Если значение null, это означает, что в исходном вызове функции произошла ошибка.
Замечания Список не включает системные процессы.
Требования
Windows 10 версии 1709 или более поздней
закрыть
Закрывает браузер и разблокирует устройство. Тестовое приложение должно вызвать это, когда пользователь выбирает выход из браузера.
Syntax
void SecureBrowser.security.close(restart);
Параметры
-
restart— Этот параметр игнорируется, но должен быть указан.
Замечания В Windows 10 версии 1607 устройство должно быть заблокировано изначально. В более поздних версиях этот метод закрывает браузер независимо от того, заблокировано ли устройство.
Требования
Windows 10 версии 1709 или более поздней
getPermissiveMode
Тестовое веб-приложение должно вызвать это, чтобы определить, включен ли или отключен режим разрешительного режима. В разрешительном режиме, как ожидается, браузер ослабляет некоторые из своих строгих мер безопасности, чтобы позволить технологиям для людей с ограниченными возможностями работать с безопасным браузером. Например, браузеры, которые агрессивно препятствуют появлению других пользовательских интерфейсов приложений поверх них, могут захотеть ослабить это в разрешительном режиме.
Syntax
void SecureBrowser.security.getPermissiveMode(Function callback)
Параметры
-
callback— Функция, вызываемая при завершении этого вызова. Он должен находиться в форме:Function(Boolean permissiveMode)гдеpermissiveModeуказывается, находится ли браузер в режиме разрешительного режима. Если значение не определено или равно null, в операции получения произошла ошибка.
Требования
Windows 10 версии 1709 или более поздней
setPermissiveMode
Тестовое веб-приложение должно вызвать это, чтобы включить или отключить разрешительный режим. В режиме с пониженными мерами безопасности предполагается, что браузер ослабит некоторые из своих механизмов безопасности, чтобы позволить вспомогательным технологиям работать с безопасным браузером. Например, браузеры, которые агрессивно препятствуют появлению других пользовательских интерфейсов приложений поверх них, могут захотеть ослабить это в разрешительном режиме.
Syntax
void SecureBrowser.security.setPermissiveMode(Boolean enable, Function callback)
Параметры
-
enable— Логическое значение, указывающее предполагаемое состояние разрешающего режима. -
callback— Функция, вызываемая при завершении этого вызова. Он должен находиться в форме:Function(Boolean permissiveMode)гдеpermissiveModeуказывается, находится ли браузер в режиме разрешительного режима. Если значение не определено или равно null, в операции задания произошла ошибка.
Требования
Windows 10 версии 1709 или более поздней
emptyClipBoard
Очищает системный буфер обмена. Тестовое приложение должно вызвать это, чтобы принудительно очистить все данные, которые могут храниться в системном буфере обмена. Функция lockDown также выполняет эту операцию.
Syntax
void SecureBrowser.security.emptyClipBoard();
Требования
Windows 10 версии 1709 или более поздней
getMACAddress
Возвращает список MAC-адресов для устройства. Тестируемое приложение должно вызвать это, чтобы помочь в диагностике.
Syntax
void SecureBrowser.security.getMACAddress(Function callback);
Параметры
-
callback— Функция, вызываемая при завершении этого вызова. Он должен находиться в форме:Function(String addressArray)гдеaddressArrayнаходится в форме:"['00:11:22:33:44:55','etc']"
Remarks
Трудно полагаться на исходные IP-адреса, чтобы различать компьютеры конечных пользователей на серверах тестирования, так как брандмауэры/NATs/Proxies обычно используются в школах. MAC-адреса позволяют приложению различать конечные клиентские компьютеры за общим брандмауэром для диагностики.
Требования
Windows 10 версии 1709 или более поздней
getStartTime
Возвращает время запуска приложения тестирования.
Syntax
DateTime SecureBrowser.security.getStartTime();
Возврат
Объект DateTime, указывающий время запуска приложения тестирования.
Требования
Windows 10 версии 1709 или более поздней
getCapability
Запрашивает, включена ли или отключена возможность.
Syntax
Object SecureBrowser.security.getCapability(String feature)
Параметры
feature — строка для определения возможности запроса. Допустимые строки возможностей: screenMonitoring, print и textSuggestions (без учета регистра).
Возвращаемое значение
Эта функция возвращает объект JavaScript или литерал с формой: {<feature>:true|false}
Значение true , если запрошенная возможность включена, значение false , если эта возможность не включена или строка возможности недопустима.
Требования Windows 10 версии 1703 или более поздней
setCapability
Включает или отключает определенную возможность в браузере.
Syntax
void SecureBrowser.security.setCapability(String feature, String value, Function onSuccess, Function onError)
Параметры
-
feature— строка для определения возможности, которую необходимо задать. Допустимые строки возможностей:"screenMonitoring","printing"и"textSuggestions"(без учета регистра). -
value— Предполагаемый параметр для функции. Он должен быть либо"true", либо"false". -
onSuccess— [необязательно] Функция для вызова после успешного завершения операции установки. Он должен иметь формуFunction(String jsonValue), в которой jsonValue находится в форме:{<feature>:true|false|undefined} -
onError— [необязательно] Функция для вызова, если операция задания завершилась сбоем. Он должен иметь формуFunction(String jsonValue), в которой jsonValue находится в форме:{<feature>:true|false|undefined}
Remarks
Если целевая функция неизвестна браузеру, эта функция передает значение undefined функции обратного вызова.
Требования Windows 10 версии 1703 или более поздней
isRemoteSession
Проверяет, выполнен ли удаленный вход в текущую сессию.
Syntax
Boolean SecureBrowser.security.isRemoteSession();
Возвращаемое значение
true, если текущий сеанс выполняется удаленно, в противном случае false.
Требования
Windows 10 версии 1709 или более поздней
isVMSession
Проверяет, запущен ли текущий сеанс в виртуальной машине.
Syntax
Boolean SecureBrowser.security.isVMSession();
Возвращаемое значение
true, если текущий сеанс выполняется на виртуальной машине, иначе false.
Remarks
Эта проверка API может обнаруживать только сеансы виртуальных машин, выполняемые в определенных гипервизорах, реализующих соответствующие API
Требования
Windows 10 версии 1709 или более поздней