Адаптер человеческого устройства
Адаптер человеческих устройств (HDA) — это способ ручного взаимодействия с тестовой платформой Bluetooth (BTP), позволяющий использовать устройства с BTP, которые еще не автоматизированы. Например, HDA позволит взаимодействовать с приобретенной гарнитурой, которая в противном случае не имеет четкого способа подключения к BTP. HDA позволяет вручную выполнять тестирование пользователей между устройством Windows и оборудованием для создания прототипов без использования внешнего оборудования, такого как Traduci. Таким образом, все, что требуется для настройки, — это компьютер, поддерживающий Bluetooth, и ваше собственное тестовое устройство.
Настройка HDA
Установите программное обеспечение, как описано в разделе Настройка программного обеспечения BTP для поддержки HDA.
Файл конфигурации HDA
Создайте файл конфигурации с именем тестового устройства, например mytestdevice.txt. Имя файла и расширение не важны. Файл конфигурации должен содержать следующие сведения:
name=myTestDevice
baseband=BR
br_address=B4:F1:DA:96:C0:A4
Тесты связывания HDA
Перейдите в папку, в которой был извлечен программный пакет BTP, обычно C:\BTP
. Скрипты находятся во вложенной папке каталога пакета. Запустите соответствующий скрипт для требуемой командной среды:
Командная среда | Скрипт |
---|---|
Командная строка с повышенными привилегиями | RunPairingTests.bat HDA,conf_file=<configuration file name> |
Консоль PowerShell с повышенными привилегиями | RunPairingTests.ps1 HDA,conf_file=<configuration file name> |
Можно добавить необязательный параметр -VerboseLogs
, чтобы предоставить более подробные выходные данные внутренних операций BTP для упрощения отладки.
Связывание HDA вручную
Сценарий запрашивает, было ли устройство сопряжено ранее. Если вы ответите с y, скрипт удаляет связывание. Если вы ответите n, процесс продолжается без каких-либо действий.
Verify: SUCCEEDED(WEX::TestExecution::RuntimeParameters::TryGetValue(deviceParameterName.c_str(), deviceParametersStr)): Getting required runtime parameter 'central' [BluetoothTests::PairingTestsImpl::PairingTestsImpl]: Using central device named: MyCentralDevice [BluetoothTests::PairingTestsImpl::PairingTestsImpl]: Using peripheral device named: MyTestDevice [BluetoothTestHelpers::Pairing::Unpair]: Unpairing device with address B4F1DA96C0A4 from the device with address D83BBFAC35607 [BluetoothTestHelpers::Pairing::Unpair]: Unpaired successfully [BluetoothTestHelpers::Pairing::WaitForDisconnection]: Waiting for disconnection of device with address B4F1DA96C0A4 [BluetoothTestHelpers::Pairing::WaitForDisconnection]: Asserted: connectionModule.WaitForDisconnection(otherDeviceAddress, c_disconnectionAfterUnpairingTimeout) [BluetoothTestHelpers::Pairing::WaitForDisconnection]: Disconnected successfully Is MyTestDevice paired to the device with address D83BBFAC35607? Enter (y/n): y
В следующем примере показано, как HDA удаляет связывание. Он также предлагает удалить все сведения о связывании на устройстве (здесь называется "MyTestDevice"). Нажмите любую клавишу, чтобы продолжить после удаления сведений о связывании.
[BluetoothTestHelpers::Pairing::Unpair]: Unpairing device with address D83BBFAC35607 Public from the device with address D83BBFAC35607 Public If possible, delete the pairing on MyTestDevice Press any key to continue
Затем скрипт начинает процесс связывания, выполняя проверки, а затем предлагая пользователю ввести свое устройство (здесь называется MyTestDevice) в режим связывания полосы . После перевода устройства в режим связывания нажмите любую клавишу, чтобы продолжить.
StartGroup: BluetoothTests::TaefPairingTests::OutgoingJustWorksPairingTest [BluetoothTests::PairingTestsImpl::OutgoingJustWorksPairingTest]: Will attempt an outgoing pairing to the peripheral device and validate that a JustWorks ceremony was used [BluetoothTestHelpers::Pairing::Pair]: Asserted: (originDeviceAssociationModule) != nullptr [BluetoothTestHelpers::Pairing::Pair]: Asserted: originDeviceAssociationModule->CanInitiatePairing() [BluetoothTestHelpers::Pairing::Pair]: Asserted: originDeviceAssociationModule->CanCheckPairingStatus() [BluetoothTestHelpers::Pairing::Pair]: Asserted: !(originDeviceAssociationModule->IsPairedTo(destinationDeviceAddress)) If not already, put MyTestDevice in BR pairing mode Press any key to continue . . .
Скрипт инициирует связывание. Если связывание выполнено успешно, вы увидите следующие выходные данные. Отвечайте на любые уведомления на устройстве или на тестовом компьютере, чтобы подтвердить и завершить связывание. Затем тест предложит вывести устройство из режима связывания. После вывода устройства из режима связывания нажмите любую клавишу, чтобы продолжить.
[BluetoothTestHelpers::Pairing::Pair]: Initiating pairing request from device with address D83BBFAC35607 to device with address B4F1DA96C0A4 [BluetoothTestHelpers::Pairing::DefaultPairingCeremonyHandler::OnJustWorks]: JustWorks ceremony used [BluetoothTestHelpers::Pairing::Pair]: Asserted: originDeviceAssociationModule->IsPairedTo(destinationDeviceAddress) [BluetoothTestHelpers::Pairing::Pair]: Asserted: ceremonyHandler.GetLastCeremonyUsed().has_value() [BluetoothTestHelpers::Pairing::Pair]: Asserted: ceremonyHandler.GetLastCeremonyUsed().value() == expectedCeremony [BluetoothTestHelpers::Pairing::Pair]: Paired successfully If the device is in pairing mode, exit pairing mode if possible. Press any key to continue . . .
После завершения связывания скрипт переходит к тестам, доступным в наборе тестов. Документацию по доступным тестам и их выполнению можно найти в разделе Поддерживаемые в настоящее время тесты BTP.
Запись журналов HDA
Если возникают проблемы, журналы Bluetooth можно записать в журналы Bluetooth, следуя инструкциям в Репозитории Busiotools для Windows на GitHub для записи журналов или используя параметр -VerboseLogs
скрипта при запуске тестов.