在 SAP UI5 的集成测试体系里,OPA5 是一个极为核心的工具。很多团队会用 OPA5 的 waitFor
、actions
、matchers
来写端到端交互测试,但当你想把一些与应用上下文强相关的断言下沉到被测应用内部去执行,以此减少跨 frame 通信的摩擦、获得更稳定的测试信号,这时就轮到 class sap.ui.test.OpaExtension
出场了。OpaExtension
提供了一个受控的扩展点,让你把自定义断言注入进测试生命周期,由 OPA5 统一调度。官方文档把它称为 Extensions for OPA5
,并清晰定义了接口与生命周期。(SAPUI5 SDK)
1. OpaExtension 的定位:为何存在、解决什么问题
传统写法里,测试脚本运行在测试 frame 中,通过 Opa5.waitFor
不断轮询 AUT(Application Under Test)里的控件树,再在测试侧执行断言。这种方式简单直接,但当断言需要深入 AUT 内部状态,或者要调用 AUT 暴露的内部服务、私有模型、全局单例时,测试侧跨 frame 获取这些对象会变得啰嗦且