Поделиться через


Адаптер человеческого устройства

Адаптер человеческих устройств (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 вручную

  1. Сценарий запрашивает, было ли устройство сопряжено ранее. Если вы ответите с 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
    
  2. Затем скрипт начинает процесс связывания, выполняя проверки, а затем предлагая пользователю ввести свое устройство (здесь называется 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 . . .
    
  3. Скрипт инициирует связывание. Если связывание выполнено успешно, вы увидите следующие выходные данные. Отвечайте на любые уведомления на устройстве или на тестовом компьютере, чтобы подтвердить и завершить связывание. Затем тест предложит вывести устройство из режима связывания. После вывода устройства из режима связывания нажмите любую клавишу, чтобы продолжить.

    [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 . . .
    
  4. После завершения связывания скрипт переходит к тестам, доступным в наборе тестов. Документацию по доступным тестам и их выполнению можно найти в разделе Поддерживаемые в настоящее время тесты BTP.

Запись журналов HDA

Если возникают проблемы, журналы Bluetooth можно записать в журналы Bluetooth, следуя инструкциям в Репозитории Busiotools для Windows на GitHub для записи журналов или используя параметр -VerboseLogs скрипта при запуске тестов.

См. также раздел