在我的用例中,有一个注册页面会触发特定于浏览器的 webauthn 流程。例如,在 Mac 上的 Chrome 中,您将看到以下一系列弹出窗口:
除了https://w3c.github.io/webauthn/#add-virtual-authenticator之外,我还没有找到太多关于使用 webauthn 进行身份验证作为 selenium 测试的一部分的文档。有哪些资源可以帮助开发人员了解如何在 JavaScript 中使用 Selenium 测试 webauthn?我还查看了https://github.com/SeleniumHQ/selenium/issues/7829但示例测试用例对我来说没有意义。示例将非常感激。
使用 js 的解决方案更新:
import { Command } from 'selenium-webdriver/lib/command';
addVirtualAuthenticator = async () => {
await this.driver.getSession().then(async session => {
this.driver
.getExecutor()
.defineCommand('AddVirtualAuthenticator', 'POST', `/session/${session.id_}/webauthn/authenticator`);
let addVirtualAuthCommand = new Command('AddVirtualAuthenticator');
addVirtualAuthCommand.setParameter('protocol', 'ctap2');
addVirtualAuthCommand.setParameter('transport', 'internal');
addVirtualAuthCommand.setParameter('hasResidentKey', true);
addVirtualAuthCommand.setParameter('isUserConsenting', true);
await this.driver.getExecutor().execute(addVirtualAuthCommand);
});
};
Run Code Online (Sandbox Code Playgroud)
注意this.driver …