You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Java结合Selenium实现Microsoft Authenticator验证环节的自动化?

基于Java + Selenium的微软MFA验证环节自动化实现方案

可落地的实现路径

针对Microsoft Authenticator推送审批场景

  • 优先做策略层面的成本优化:在测试账号的微软安全配置页,把运行Selenium的固定测试环境(固定IP、设备指纹)加入受信常用设备列表,勾选「30天内不再要求MFA验证」选项。首次登录人工完成一次审批后,后续30天内的所有Selenium登录流程会直接跳过MFA环节,从根源减少人工介入的频次,这是投入产出比最高的方案。
  • 如果需要完整覆盖MFA验证流的自动化,可通过Java层对接微软Graph API的MFA事件订阅能力:监听指定测试账号收到的验证推送事件,收到事件后直接调用API接口完成「批准」操作,Selenium侧只需要做页面轮询,等待验证通过后的跳转即可,全程不需要人工操作手机。

针对短信OTP输入场景

整套流程可以完全靠Java + Selenium串联实现:

  • 提前为测试账号绑定可被程序读取收件内容的测试手机号:如果是用实体测试手机接收短信,可通过Java调用ADB工具读取手机短信内容;如果是虚拟号段接收短信,可对接对应平台的收件箱查询接口,封装一个通用的Java工具方法:传入指定时间窗口、验证码匹配规则,即可自动抓取最新收到的6位OTP值。
  • Selenium侧的交互逻辑:页面跳转到OTP输入页后,先点击触发发送OTP的按钮,留出合理的短信送达等待时间,再调用封装好的工具方法拉取验证码,将值填入输入框后点击确认,即可完成校验流程。

落地避坑提示

  • 不要尝试用Selenium控制手机端Authenticator应用完成审批,微软对客户端的反调试、界面权限管控严格,方案稳定性极差,维护成本极高。
  • 不要把OTP值硬编码到测试脚本中,必须走动态抓取的逻辑,避免验证码过期导致测试用例随机失败。
  • 企业内部测试账号使用前,先确认IT部门的安全合规要求,避免私自调整账号MFA策略触发安全告警。

内容的提问来源于stack exchange,提问作者Chan Sri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.23 15:54:04