1*** Settings ***
2
3Documentation   Test OpenBMC GUI "Server power operation" sub-menu of
4...             "Server control".
5
6Resource        ../../lib/resource.robot
7
8Test Teardown   Close Browser
9
10
11*** Variables ***
12
13${xpath_power_indicator_bar}     //*[@id='power-indicator-bar']
14${xpath_shutdown_button}         //button[contains(text(), "Shut down")]
15${xpath_reboot_button}           //button[contains(text(), "Reboot")]
16${xpath_power_on_button}         //button[contains(text(), "Power on")]
17
18*** Test Cases ***
19
20Verify System State At Power Off
21    [Documentation]  Verify system state at power off.
22    [Tags]  Verify_System_State_At_Power_Off
23    [Setup]  Setup For Test Execution  ${OBMC_PowerOff_state}
24
25    Element Should Contain  ${xpath_power_indicator_bar}  Off
26
27
28Verify BMC IP In Server Power Operation Page
29    [Documentation]  Verify BMC IP in server power operation page.
30    [Tags]  Verify_BMC_IP_In_Server_Power_Operation_Page
31    [Setup]  Setup For Test Execution  ${OBMC_PowerOff_state}
32
33    Element Should Contain  ${xpath_power_indicator_bar}  ${OPENBMC_HOST}
34
35
36Verify Shutdown Button At Power Off
37    [Documentation]  Verify that shutdown button is not present at power Off.
38    [Tags]  Verify_Shutdown_Button_At_Power_Off
39    [Setup]  Setup For Test Execution  ${OBMC_PowerOff_state}
40
41    Element Should Not Be Visible  ${xpath_shutdown_button}
42
43
44Verify Reboot Button At Power Off
45    [Documentation]  Verify that reboot button is not present at power Off.
46    [Tags]  Verify_Reboot_Button_At_Power_Off
47    [Setup]  Setup For Test Execution  ${OBMC_PowerOff_state}
48
49    Element Should Not Be Visible  ${xpath_reboot_button}
50
51
52Verify Power On Button At Power Off
53    [Documentation]  Verify presence of "Power On" button at power off.
54    [Tags]  Verify_Power_On_Button_At_Power_Off
55    [Setup]  Setup For Test Execution  ${OBMC_PowerOff_state}
56
57    Element Should Be Visible  ${xpath_power_on_button}
58
59
60Verify System State At Power On
61    [Documentation]  Verify system state at power on.
62    [Tags]  Verify_System_State_At_Power_On
63    [Setup]  Setup For Test Execution  ${obmc_PowerRunning_state}
64
65    Element Should Contain  ${xpath_power_indicator_bar}  Running
66
67
68Verify Shutdown Button At Power On
69    [Documentation]  Verify that shutdown button is present at power on.
70    [Tags]  Verify_Shutdown_Button_At_Power_On
71    [Setup]  Setup For Test Execution  ${obmc_PowerRunning_state}
72
73    Element Should Be Visible  ${xpath_shutdown_button}
74
75
76Verify Reboot Button At Power On
77    [Documentation]  Verify that reboot button is present at power on.
78    [Tags]  Verify_Reboot_Button_At_Power_On
79    [Setup]  Setup For Test Execution  ${obmc_PowerRunning_state}
80
81    Element Should Be Visible  ${xpath_reboot_button}
82
83
84*** Keywords ***
85
86Setup For Test Execution
87    [Documentation]  Do setup tasks for test case.
88    [Arguments]  ${obmc_required_state}
89
90    # Description of argument(s):
91    # obmc_required_state  The OpenBMC state which is required for the test.
92
93    Test Setup Execution  ${obmc_required_state}
94    Wait Until Page Does Not Contain Element  ${xpath_refresh_circle}
95    Click Element  ${xpath_select_server_control}
96    Wait Until Page Does Not Contain Element  ${xpath_refresh_circle}
97    Click Element  ${xpath_select_server_power_operations}
98    Wait Until Page Contains  Server power operations
99