xref: /openbmc/openbmc-test-automation/gui/gui_test/operations_menu/test_firmware_sub_menu.robot (revision b2a2d948d555cb6e5169b9f21d489a3b089b4387)
1*** Settings ***
2
3Documentation  Test OpenBMC Firmware Update" sub menu of "Operations".
4
5Resource        ../../lib/gui_resource.robot
6
7Suite Setup     Suite Setup Execution
8Suite Teardown  Close All Browsers
9
10Test Tags      Firmware_Sub_Menu
11
12*** Variables ***
13
14${xpath_firmware_heading}                //h1[text()="Firmware"]
15${xpath_add_file_button}                 //*[@id='image-file']
16${xpath_start_update_button}             //*[@data-test-id="firmware-button-startUpdate"]
17${xpath_switch_to_running}               //*[@data-test-id="firmware-button-switchToRunning"]
18
19*** Test Cases ***
20
21Verify Navigation To Firmware Page
22    [Documentation]  Verify navigation to firmware page.
23    [Tags]  Verify_Navigation_To_Firmware_Page
24
25    Page Should Contain Element  ${xpath_firmware_heading}
26
27
28Verify Existence Of All Sections In Firmware Page
29    [Documentation]  Verify existence of all sections in firmware page.
30    [Tags]  Verify_Existence_Of_All_Sections_In_Firmware_Page
31
32    Page Should Contain  BMC and server
33    Page Should Contain  Update firmware
34    Page Should Contain  Access key expiration
35
36
37###  Power Off Test Cases  ###
38
39Verify Existence Of All Buttons In Firmware Page At Host Power Off
40    [Documentation]  Verify existence of all buttons in firmware page at host power off.
41    [Tags]  Verify_Existence_Of_All_Buttons_In_Firmware_Page_At_Host_Power_Off
42
43    Power Off Server
44    Navigate To Required Sub Menu  ${xpath_operations_menu}  ${xpath_firmware_update_sub_menu}  firmware
45
46    Page Should Contain Element  ${xpath_add_file_button}
47    Page Should Contain Element  ${xpath_start_update_button}
48
49
50Verify Existence Of All Sub Sections Under BMC And Server Section At Poweroff State
51    [Documentation]  Verify existence of all sub sections under BMC and server section at poweroff state.
52    [Tags]  Verify_Existence_Of_All_Sub_Sections_Under_BMC_And_Server_Section_At_Poweroff_State
53
54    Power Off Server
55    Navigate To Required Sub Menu  ${xpath_operations_menu}  ${xpath_firmware_update_sub_menu}  firmware
56
57    Page Should Contain  Running image
58    Page Should Contain  Backup image
59    Page Should Contain  Temporary
60    Page Should Contain  Permanent
61    Element Should Be Visible  ${xpath_switch_to_running}
62
63
64###  Power On Test Cases  ###
65
66Verify Existence Of All Sub Sections Under BMC And Server Section At Power On State
67    [Documentation]  Verify existence of all sub sections under BMC and server section at power on state.
68    [Tags]  Verify_Existence_Of_All_Sub_Sections_Under_BMC_And_Server_Section_At_Power_On_State
69
70    Power On Server
71    Navigate To Required Sub Menu  ${xpath_operations_menu}  ${xpath_firmware_update_sub_menu}  firmware
72
73    Page Should Contain  Running image
74    Page Should Contain  Backup image
75    Page Should Contain  Temporary
76    Page Should Contain  Permanent
77    Element Should Be Disabled  ${xpath_switch_to_running}
78
79
80Verify Existence Of All Buttons In Firmware Page At Host Power On
81    [Documentation]  Verify existence of all buttons in firmware page at host power on.
82    [Tags]  Verify_Existence_Of_All_Buttons_In_Firmware_Page_At_Host_Power_On
83
84    Power On Server
85    Navigate To Required Sub Menu  ${xpath_operations_menu}  ${xpath_firmware_update_sub_menu}  firmware
86
87    Element Should Be Disabled  ${xpath_add_file_button}
88    Element Should Be Disabled  ${xpath_start_update_button}
89
90
91*** Keywords ***
92
93Suite Setup Execution
94   [Documentation]  Do test case setup tasks.
95
96    Launch Browser And Login GUI
97    Click Element  ${xpath_operations_menu}
98    Click Element  ${xpath_firmware_update_sub_menu}
99    Wait Until Keyword Succeeds  30 sec  10 sec  Location Should Contain  firmware
100    Wait Until Element Is Not Visible   ${xpath_page_loading_progress_bar}  timeout=30