逐步拆解
robotframework
Verify Reset BMC And Server Settings Option With Readonly User When Host Off State
Setup 阶段(4 步)
robotframework
[Setup] Run Keywords Power Off Server AND Logout GUI
... AND Create Readonly User And Login To GUI
... AND Navigate To Factory Reset Page
-
Power Off Server:确保服务器下电(Factory Reset 要求 host 下电); -
Logout GUI:用 root 登出; -
Create Readonly User And Login To GUI:通过 Redfish 创建只读用户,然后用它登录; -
Navigate To Factory Reset Page:导航到 Operations → Factory reset。
Setup 完成后:浏览器里是只读用户,停在 Factory Reset 页面。
测试体(3 步)
robotframework
Click Element At Coordinates ${xpath_reset_bmc_server_radio_button} 0 0
Wait And Click Element ${xpath_reset_button}
Click Element ${xpath_reset_bmc_andserver_settings}
-
选中 "Reset BMC" 单选按钮(当前 UI 唯一的选项);
-
点击 "Reset" 按钮,弹出确认对话框;
-
点击确认按钮。
意图:只读用户试图真正执行一次 Factory Reset。
验证(1 步)
robotframework
Verify Error And Unauthorized Message On GUI
Sleep 10
-
期望页面上弹出错误提示,包含
Error和Unauthorized文本,验证只读用户被拒绝; -
等 10 秒让提示自动消失。
Teardown(1 步)
robotframework
[Teardown] Delete Readonly User And Logout Current GUI Session
- 登出只读用户,删除只读账户,用 root 重新登录。
测试目的总结
| 验证点 | 目的 |
|---|---|
| 只读用户可以打开 Factory Reset 页面 | 页面可访问性 |
| 只读用户可以点击 Reset 按钮、确认 | 确认交互可触发 |
| 系统拒绝执行,弹出 Unauthorized | 核心:权限控制 |
核心就是最后一条:只读用户不能执行 Factory Reset,系统必须拦截并报错。
问题一:操作失败无Error弹出
问题二:失败时等待10s弹窗并不会消失
优化点:复位BMC确认按钮除了可以通过文本操作还可以通过更底层的方式(这种方式更靠谱,因为文本内容有可能发生变化)