Most of the stuff needs to be covered with integration tests.
Chromium-based browsers should support WebAuthN emulation - https://developer.chrome.com/docs/devtools/webauthn/.
Need to implement a headless-browser (chrome) and run all flows: registration, login, CIBA, adding a new device, profile, etc.
Playwright doesn't currently support Webauthn, you can use a built-in browser emulator or a virtual device.
But it requires user interaction in many cases, e.g. login without providing a username.
Most of the stuff needs to be covered with integration tests.
Chromium-based browsers should support WebAuthN emulation - https://developer.chrome.com/docs/devtools/webauthn/. Need to implement a headless-browser (chrome) and run all flows: registration, login, CIBA, adding a new device, profile, etc.
Check: https://playwright.dev/dotnet/docs/intro
Playwright doesn't currently support Webauthn, you can use a built-in browser emulator or a virtual device. But it requires user interaction in many cases, e.g. login without providing a username.
Webdriver "supports" webauthn, so Selenium does. https://stackoverflow.com/questions/63477115/selenium-tests-authenticate-with-webauthn
It is unclear how to automatically test real platform authenticators, e.g. Windows Hello.
Most likely the easiest way is to use a combination of Playwright tests with manual device unlocking, just to speed-up manual testing.