API JavaScript Тестирование
Тестирование — это браузерное приложение UWP, которое отображает заблокированные онлайн-оценки для тестирования с высоким уровнем ставок, что позволяет преподавателям сосредоточиться на содержимом оценки, а не о том, как обеспечить безопасную среду тестирования. Для этого используется API JavaScript, который может использовать любое веб-приложение. API тестирования take-a-test поддерживает стандартный API браузера SBAC для высокоуровневого тестирования основных компонентов.
Дополнительные сведения о самом приложении см. в техническом справочнике по Тестирование приложения. Сведения об устранении неполадок см. в статье "Устранение неполадок Microsoft Тестирование с помощью средства просмотра событий".
Справочная документация
API-интерфейсы Тестирование существуют в следующих пространствах имен. Обратите внимание, что все API зависят от глобального SecureBrowser
объекта.
Пространство имен | Description |
---|---|
пространство имен безопасности | Содержит API-интерфейсы, позволяющие заблокировать устройство для тестирования и применить среду тестирования. |
Пространство имен безопасности
Пространство имен безопасности позволяет заблокировать устройство, проверить список процессов пользователя и системы, получить MAC и IP-адреса и очистить кэшированные веб-ресурсы.
Метод | Description |
---|---|
lockDown | Блокирует устройство для тестирования. |
isEnvironmentSecure | Определяет, применяется ли контекст блокировки к устройству. |
getDeviceInfo | Получает сведения о платформе, на которой выполняется тестовое приложение. |
examineProcessList | Возвращает список запущенных процессов пользователей и системных процессов. |
close | Закрывает браузер и разблокирует устройство. |
getPermissiveMode | Проверяет, включен ли или отключен режим разрешительного режима. |
setPermissiveMode | Переключение режима включено или выключено. |
emptyClipBoard | Очищает системный буфер обмена. |
getMACAddress | Возвращает список MAC-адресов для устройства. |
getStartTime | Возвращает время запуска приложения тестирования. |
getCapability | Запрашивает, включена ли или отключена возможность. |
setCapability | Включает или отключает указанную возможность. |
isRemoteSession | Проверяет, выполняется ли удаленный вход текущего сеанса. |
isVMSession | Проверяет, запущен ли текущий сеанс на виртуальной машине. |
lockDown
Блокирует устройство. Также используется для разблокировки устройства. Тестовое веб-приложение вызовет этот вызов, прежде чем разрешить учащимся начать тестирование. Для защиты среды тестирования необходимо выполнить все действия, необходимые для защиты среды тестирования. Действия, описанные для защиты среды, относятся к устройству, например, включение таких аспектов, как отключение захвата экрана, отключение голосового чата в безопасном режиме, очистка системного буфера обмена, ввод в режим киоска, отключение пробелов в OSX 10.7+ устройств и т. д. Приложение тестирования включает блокировку до начала оценки и отключит блокировку, когда учащийся завершил оценку и выходит из безопасного теста.
Синтаксис
void SecureBrowser.security.lockDown(Boolean enable, Function onSuccess, Function onError);
Параметры
enable
- True , чтобы запустить приложение Take-a-Test над экраном блокировки и применить политики, описанные в этом документе. False останавливает выполнение тестовой проверки над экраном блокировки и закрывает его, если приложение не заблокировано. В этом случае нет эффекта.onSuccess
— [необязательно] Функция для вызова после успешного включения или отключения блокировки. Он должен иметь формуFunction(Boolean currentlockdownstate)
.onError
— [необязательно] Функция для вызова, если операция блокировки завершилась сбоем. Он должен иметь формуFunction(Boolean currentlockdownstate)
.
Требования
Windows 10 версии 1709 или более поздней
isEnvironmentSecure
Определяет, применяется ли контекст блокировки к устройству. Тестовое веб-приложение вызовет это перед тем, как учащиеся начнут тестировать и периодически при выполнении теста.
Синтаксис
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
Получает сведения о платформе, на которой выполняется тестовое приложение. Это используется для расширения всех сведений, которые были заметны от агента пользователя.
Синтаксис
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
представляет модель устройства только для мобильных устройств; Null/unused для классических браузеров.
Требования
Windows 10 версии 1709 или более поздней
examineProcessList
Возвращает список всех процессов, выполняемых на клиентском компьютере, принадлежаемом пользователю. Тестовое приложение вызовет это, чтобы изучить список и сравнить его со списком процессов, которые были признаны запрещенными во время цикла тестирования. Этот вызов должен вызываться как в начале оценки, так и периодически, пока учащийся принимает оценку. Если обнаружен запрещенный процесс, оценка должна быть остановлена, чтобы сохранить целостность теста.
Синтаксис
void SecureBrowser.security.examineProcessList(String[] denylistedProcessList, Function callback);
Параметры
denylistedProcessList
— список процессов, в которые тестируемое приложение имеет запрещенный список.
callback
— Функция, вызываемая после обнаружения активных процессов. Он должен находиться в форме:Function(String foundDenylistedProcesses)
гдеfoundDenylistedProcesses
находится в форме:"['process1.exe','process2.exe','processEtc.exe']"
Он будет пустым, если не найдены запрещенные процессы. Если значение null, это означает, что в исходном вызове функции произошла ошибка.
Примечания список не включает системные процессы.
Требования
Windows 10 версии 1709 или более поздней
close
Закрывает браузер и разблокирует устройство. Тестовое приложение должно вызвать это, когда пользователь выбирает выход из браузера.
Синтаксис
void SecureBrowser.security.close(restart);
Параметры
restart
— Этот параметр игнорируется, но должен быть указан.
Примечания в Windows 10 версии 1607 устройство должно быть заблокировано изначально. В более поздних версиях этот метод закрывает браузер независимо от того, заблокировано ли устройство.
Требования
Windows 10 версии 1709 или более поздней
getPermissiveMode
Тестовое веб-приложение должно вызвать это, чтобы определить, включен ли или отключен режим разрешительного режима. В разрешительном режиме браузер, как ожидается, расслабляет некоторые из своих жестких перехватчиков безопасности, чтобы позволить вспомогательным технологиям работать с безопасным браузером. Например, браузеры, которые агрессивно препятствуют показу других пользовательских интерфейсов приложений на вершине этих интерфейсов, может потребоваться расслабиться в режиме разрешительного режима.
Синтаксис
void SecureBrowser.security.getPermissiveMode(Function callback)
Параметры
callback
— Функция, вызываемая при завершении этого вызова. Он должен находиться в форме:Function(Boolean permissiveMode)
гдеpermissiveMode
указывается, находится ли браузер в режиме разрешительного режима. Если значение не определено или равно null, в операции получения произошла ошибка.
Требования
Windows 10 версии 1709 или более поздней
setPermissiveMode
Тестовое веб-приложение должно вызвать это, чтобы включить или отключить режим переключения. В разрешительном режиме браузер, как ожидается, расслабляет некоторые из своих жестких перехватчиков безопасности, чтобы позволить вспомогательным технологиям работать с безопасным браузером. Например, браузеры, которые агрессивно препятствуют показу других пользовательских интерфейсов приложений на вершине этих интерфейсов, может потребоваться расслабиться в режиме разрешительного режима.
Синтаксис
void SecureBrowser.security.setPermissiveMode(Boolean enable, Function callback)
Параметры
enable
— Логическое значение, указывающее предполагаемое состояние недопустимого режима.callback
— Функция, вызываемая при завершении этого вызова. Он должен находиться в форме:Function(Boolean permissiveMode)
гдеpermissiveMode
указывается, находится ли браузер в режиме разрешительного режима. Если значение не определено или равно null, в операции задания произошла ошибка.
Требования
Windows 10 версии 1709 или более поздней
emptyClipBoard
Очищает системный буфер обмена. Тестовое приложение должно вызвать это, чтобы принудительно очистить все данные, которые могут храниться в системном буфере обмена. Функция lockDown также выполняет эту операцию.
Синтаксис
void SecureBrowser.security.emptyClipBoard();
Требования
Windows 10 версии 1709 или более поздней
getMACAddress
Возвращает список MAC-адресов для устройства. Тестируемое приложение должно вызвать это, чтобы помочь в диагностика.
Синтаксис
void SecureBrowser.security.getMACAddress(Function callback);
Параметры
callback
— Функция, вызываемая при завершении этого вызова. Он должен находиться в форме:Function(String addressArray)
гдеaddressArray
находится в форме:"['00:11:22:33:44:55','etc']"
Замечания
Трудно полагаться на исходные IP-адреса, чтобы различать компьютеры конечных пользователей на серверах тестирования, так как брандмауэры/NATs/Proxies обычно используются в школах. MAC-адреса позволяют приложению различать конечные клиентские компьютеры за общим брандмауэром для диагностика целей.
Требования
Windows 10 версии 1709 или более поздней
getStartTime
Возвращает время запуска приложения тестирования.
Синтаксис
DateTime SecureBrowser.security.getStartTime();
Return
Объект DateTime, указывающий время запуска приложения тестирования.
Требования
Windows 10 версии 1709 или более поздней
getCapability
Запрашивает, включена ли или отключена возможность.
Синтаксис
Object SecureBrowser.security.getCapability(String feature)
Параметры
feature
— строка для определения возможности запроса. Допустимые строки возможностей: screenMonitoring, print и textSuggestions (без учета регистра).
Возвращаемое значение
Эта функция возвращает объект JavaScript или литерал с формой: {<feature>:true|false}
Значение true, если запрошенная возможность включена, значение false, если эта возможность не включена или строка возможности недопустима.
Требования к Windows 10, версии 1703 или более поздней
setCapability
Включает или отключает определенную возможность в браузере.
Синтаксис
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}
Замечания
Если целевая функция неизвестна браузеру, эта функция передает значение undefined
функции обратного вызова.
Требования к Windows 10, версии 1703 или более поздней
isRemoteSession
Проверяет, выполняется ли удаленный вход текущего сеанса.
Синтаксис
Boolean SecureBrowser.security.isRemoteSession();
Возвращаемое значение
Значение true , если текущий сеанс удален, в противном случае — значение false.
Требования
Windows 10 версии 1709 или более поздней
isVMSession
Проверяет, запущен ли текущий сеанс в виртуальной машине.
Синтаксис
Boolean SecureBrowser.security.isVMSession();
Возвращаемое значение
Значение true , если текущий сеанс выполняется на виртуальной машине, в противном случае — значение false.
Замечания
Эта проверка API может обнаруживать только сеансы виртуальных машин, выполняемые в определенных гипервизорах, реализующих соответствующие API
Требования
Windows 10 версии 1709 или более поздней