Align with new webui development code
Resolves openbmc/openbmc-test-automation#1179
Change-Id: Icf0ce2326dc1fba0bda78f1106d3a1e5fe034473
Signed-off-by: Sivas SRR <sivas.srr@in.ibm.com>
diff --git a/gui/data/variables.py b/gui/data/variables.py
index 6acefd4..6e5e6c7 100644
--- a/gui/data/variables.py
+++ b/gui/data/variables.py
@@ -23,17 +23,19 @@
xpath_launch= "xpath=//*[@id='scans-show-launch-dropdown']/span"
xpath_default= "xpath=//*[@id='scans-show-launch-default']"
xpath_status= "xpath=//*[@id='main']/div[1]/section/div[2]/table/tbody/tr[1]/td[4]"
- obmc_BMC_URL= "https://openbmc-test.mybluemix.net/#/login"
- obmc_uname= "username"
- obmc_user_name= "root"
- obmc_password= "0penBmc"
+
+ obmc_BMC_URL= "http://localhost:8080/#/login"
+ obmc_bmc_ip= "xpath=//*[@id='login__form']/input[1]"
+ obmc_uname= "username"
+ obmc_user_name= "root"
+ obmc_password= "0penBmc"
# Power Operation Elements needed for power on
- header_wrapper= "2"
- header_wrapper_elt= "2"
+ header_wrapper= "3"
+ header_wrapper_elt= "3"
# Power Operation Elements needed for power operations confirmation
- power_operations= "4"
+ power_operations= "3"
warm_boot= "3"
cold_boot= "4"
shut_down= "5"
diff --git a/gui/lib/obmcgui_utils.robot b/gui/lib/obmcgui_utils.robot
deleted file mode 100644
index 25f0889..0000000
--- a/gui/lib/obmcgui_utils.robot
+++ /dev/null
@@ -1,79 +0,0 @@
-*** Settings ***
-
-Library OperatingSystem
-Library Selenium2Library 120 120
-Library Screenshot
-
-Resource resource.txt
-
-*** Keywords ***
-
-Open Browser With URL
- [Documentation] Open browser with specified URL and returns browser id.
- [Arguments] ${URL} ${browser}=gc
- # Description of argument(s):
- # URL Openbmc GUI URL to be open
- # (e.g. https://openbmc-test.mybluemix.net/#/login )
- # browser browser used to open above URL
- # (e.g. gc for google chrome, ff for firefox)
- ${browser_ID}= Open Browser ${URL} ${browser}
- [Return] browser_ID
-
-Model Server Power Click
- [Documentation] Click main server power in the header section.
- [Arguments] ${div_element} ${anchor_element}
- # Description of argument(s):
- # div_element Server power header divisional element
- # (e.g. header_wrapper)
- # anchor_element Server power header anchor element
- # (e.g. header_wrapper_elt)
- Wait Until Element Is Visible
- ... //*[@id='header__wrapper']/div/div[${div_element}]/a[${anchor_element}]/span
- Click Element
- ... //*[@id='header__wrapper']/div/div[${div_element}]/a[${anchor_element}]/span
-
-Controller Server Power Click
- [Documentation] Click main server power in the header section.
- [Arguments] ${controller_element}
- # Description of argument(s):
- # controller_element Server power controller element
- # (e.g. power__power-on)
-
- Wait Until Element Is Visible ${controller_element}
- Click Element ${controller_element}
-
-Controller Power Operations Confirmation Click
- [Documentation] Click Common Power Operations Confirmation.
- [Arguments] ${main_element} ${sub_element} ${confirm_msg_elt} ${confirmation}
- # Description of argument(s):
- # main_element Server power operations element
- # (e.g. power_operations)
- # sub_element Server power operations sub element
- # (e.g. warm_boot, shut_down)
- # confirm_msg_elt Server power operations confirm message element
- # (e.g. confirm_msg)
- # confirmation Server power operations confirmation
- # (e.g. yes)
-
- Click Element
- ... //*[@id='power-operations']/div[${main_element}]/div[${sub_element}]/confirm/div/div[${confirm_msg_elt}]/button[${confirmation}]
-
-GUI Power On
- [Documentation] Power on the CEC using GUI.
-
- Model Server Power Click ${header_wrapper} ${header_wrapper_elt}
- Page Should Contain Attempts to power on the server
- Controller Server Power Click power__power-on
-
-OpenBMC GUI Login
- [Documentation] Log into OpenBMC GUI.
-
- Log ${obmc_BMC_URL}
- Open Browser With URL ${obmc_BMC_URL} gc
- Page Should Contain Button login__submit
- Wait Until Page Contains Element ${obmc_uname}
- Input Text ${obmc_uname} ${obmc_user_name}
- Input Password password ${obmc_password}
- Click Element login__submit
- Page Should Contain System Overview
-
diff --git a/gui/obmc_asmi/data/resource_variables.py b/gui/obmc_asmi/data/resource_variables.py
index 21f5b3f..0887e67 100644
--- a/gui/obmc_asmi/data/resource_variables.py
+++ b/gui/obmc_asmi/data/resource_variables.py
@@ -5,9 +5,27 @@
menus.
"""
+
class resource_variables():
xpath_textbox_username = "//*[@id='username']"
xpath_textbox_password = "//*[@id='password']"
xpath_button_login = "//*[@id='login__submit']"
xpath_button_logout = "//*[@id='header']/a"
+ xpath_openbmc_url = "http://localhost:8080/#/login"
+ xpath_openbmc_ip = "//*[@id='login__form']/input[1]"
+ openbmc_username = "root"
+ openbmc_password = "0penBmc"
+
+ # Power operation elements needed for power on.
+ header_wrapper = "3"
+ header_wrapper_elt = "3"
+
+ # Power operation elements needed for power operations confirmation.
+ power_operations = "3"
+ warm_boot = "3"
+ cold_boot = "4"
+ shut_down = "5"
+ power_off = "6"
+ confirm_msg = "2"
+ yes = "1"
diff --git a/gui/obmc_asmi/lib/resource.robot b/gui/obmc_asmi/lib/resource.robot
index bfba9ab..7a66c34 100644
--- a/gui/obmc_asmi/lib/resource.robot
+++ b/gui/obmc_asmi/lib/resource.robot
@@ -17,12 +17,12 @@
Library ../../../lib/gen_valid.py
Library ../../../lib/gen_robot_ssh.py
Library ../../../lib/bmc_ssh_utils.py
-Resource ../../../lib/resource.txt
Variables ../data/resource_variables.py
+Resource ../../../lib/resource.txt
*** Variables ***
# TO Do: Change the variable once the code finally switches to the OpenBMC.
-${obmc_gui_url} https://openbmc-test.mybluemix.net/#/login
+${openbmc_gui_url} http://localhost:8080/#/login
# Default Browser.
${default_browser} chrome
@@ -49,14 +49,14 @@
Launch Browser in Windows Platform
[Documentation] Open the browse with the URL and login on windows platform.
- ${BROWSER_ID}= Open Browser ${obmc_gui_url} ${default_browser}
+ ${BROWSER_ID}= Open Browser ${openbmc_gui_url} ${default_browser}
Maximize Browser Window
Set Global Variable ${BROWSER_ID}
Launch Headless Browser
[Documentation] Launch headless browser.
Start Virtual Display 1920 1080
- ${BROWSER_ID}= Open Browser ${obmc_gui_url}
+ ${BROWSER_ID}= Open Browser ${openbmc_gui_url}
Set Global Variable ${BROWSER_ID}
Set Window Size 1920 1080
@@ -73,11 +73,18 @@
# Description of argument(s):
# username The username.
# password The password.
- Go To ${obmc_gui_url}
+
+ Register Keyword To Run On Failure Reload Page
+ Log ${openbmc_gui_url}
+ Open Browser With URL ${openbmc_gui_url} gc
+ Page Should Contain Button login__submit
+ # Wait Until Page Contains Element ${obmc_uname}
+ Input Text ${xpath_openbmc_ip} ${OPENBMC_HOST}
Input Text ${xpath_textbox_username} ${username}
Input Password ${xpath_textbox_password} ${password}
- Click Button ${xpath_button_login}
+ Click Element login__submit
Wait Until Element Is Enabled ${xpath_button_logout}
+ Page Should Contain Server information
LogOut OpenBMC GUI
[Documentation] Log out of OpenBMC GUI.
@@ -91,3 +98,61 @@
Print Dashes 0 100 1 =
LogOut OpenBMC GUI
+Open Browser With URL
+ [Documentation] Open browser with specified URL and returns browser id.
+ [Arguments] ${URL} ${browser}=gc
+ # Description of argument(s):
+ # URL Openbmc GUI URL to be open
+ # (e.g. https://openbmc-test.mybluemix.net/#/login )
+ # browser browser used to open above URL
+ # (e.g. gc for google chrome, ff for firefox)
+ ${browser_ID}= Open Browser ${URL} ${browser}
+ [Return] ${browser_ID}
+
+Model Server Power Click Button
+ [Documentation] Click main server power in the header section.
+ [Arguments] ${div_element} ${anchor_element}
+ # Description of argument(s):
+ # div_element Server power header divisional element
+ # (e.g. header_wrapper.)
+ # anchor_element Server power header anchor element
+ # (e.g. header_wrapper_elt.)
+ Wait Until Element Is Visible
+ ... //*[@id='header__wrapper']/div/div[${div_element}]/a[${anchor_element}]/span
+ Click Element
+ ... //*[@id='header__wrapper']/div/div[${div_element}]/a[${anchor_element}]/span
+
+Controller Server Power Click Button
+ [Documentation] Click main server power in the header section.
+ [Arguments] ${controller_element}
+ # Description of argument(s):
+ # controller_element Server power controller element
+ # (e.g. power__power-on.)
+
+ Wait Until Element Is Visible ${controller_element}
+ Click Element ${controller_element}
+
+Controller Power Operations Confirmation Click Button
+ [Documentation] Click Common Power Operations Confirmation.
+ [Arguments] ${main_element} ${sub_element} ${confirm_msg_elt} ${confirmation}
+ # Description of argument(s):
+ # main_element Server power operations element
+ # (e.g. power_operations.)
+ # sub_element Server power operations sub element
+ # (e.g. warm_boot, shut_down.)
+ # confirm_msg_elt Server power operations confirm message element
+ # (e.g. confirm_msg.)
+ # confirmation Server power operations confirmation
+ # (e.g. yes.)
+
+ Click Element
+ ... //*[@id='power-operations']/div[${main_element}]/div[${sub_element}]/confirm/div/div[${confirm_msg_elt}]/button[${confirmation}]
+
+GUI Power On
+ [Documentation] Power on the Host using GUI.
+
+ Model Server Power Click Button ${header_wrapper} ${header_wrapper_elt}
+ Page Should Contain Attempts to power on the server
+ Controller Server Power Click Button power__power-on
+ Page Should Contain Running
+
diff --git a/gui/obmc_asmi/test/gui_header/test_obmc_gui_power_operations.robot b/gui/obmc_asmi/test/gui_header/test_obmc_gui_power_operations.robot
new file mode 100644
index 0000000..5d7d3ab
--- /dev/null
+++ b/gui/obmc_asmi/test/gui_header/test_obmc_gui_power_operations.robot
@@ -0,0 +1,64 @@
+*** Settings ***
+
+Documentation Test Open BMC GUI Power Operations under GUI Header.
+
+Resource ../../lib/resource.robot
+
+Suite Setup Login OpenBMC GUI ${OPENBMC_USERNAME} ${OPENBMC_PASSWORD}
+Suite Teardown Close Browser
+
+*** Test Cases ***
+
+Power On The Host
+ [Documentation] Power on the Host.
+ [Tags] Power_On_the_Host
+
+ GUI Power On
+
+Immediate Power Off The Host
+ [Documentation] Immediate power off the Host.
+ [Tags] Immediate_Power_Off_The_Host
+
+ Controller Server Power Click Button power__hard-shutdown
+ Controller Power Operations Confirmation Click Button ${power_operations}
+ ... ${power_off} ${confirm_msg} ${yes}
+
+Cold Boot The Host
+ [Documentation] Cold boot the Host.
+ [Tags] Cold_Boot_the_Host
+
+ GUI Power On
+ Controller Server Power Click Button power__cold-boot
+ Controller Power Operations Confirmation Click Button ${power_operations}
+ ... ${cold_boot} ${confirm_msg} ${yes}
+ Page Should Contain Running
+
+Warm Boot The Host
+ [Documentation] Warm boot the Host.
+ [Tags] Warm_Boot_The_Host
+
+ Controller Server Power Click Button power__warm-boot
+ Controller Power Operations Confirmation Click Button ${power_operations}
+ ... ${warm_boot} ${confirm_msg} ${yes}
+ Page Should Contain Running
+
+Orderly Shutdown The Host
+ [Documentation] Orderly shutdown the Host.
+ [Tags] Orderly_Shutdown_The_Host
+
+ Controller Server Power Click Button power__soft-shutdown
+ Controller Power Operations Confirmation Click Button ${power_operations}
+ ... ${shut_down} ${confirm_msg} ${yes}
+ Page Should Contain Off
+
+OpenBMC GUI Logoff
+ [Documentation] Log out from OpenBMC GUI.
+ [Tags] OpenBMC_GUI_Logoff
+
+ Log ${xpath_openbmc_url}
+ Log To Console ${xpath_openbmc_url}
+ Click Element header
+
+
+
+
diff --git a/gui/tests/test_obmc_gui_power_operations.robot b/gui/tests/test_obmc_gui_power_operations.robot
deleted file mode 100644
index d57e339..0000000
--- a/gui/tests/test_obmc_gui_power_operations.robot
+++ /dev/null
@@ -1,60 +0,0 @@
-*** Settings ***
-
-Documentation Test OBMC GUI Power Operations
-
-Resource ../lib/obmcgui_utils.robot
-
-Suite Setup OpenBMC GUI Login
-Suite Teardown Close Browser
-
-*** Test Cases ***
-
-Power On the CEC
- [Documentation] Power on the CEC.
- [Tags] Power_On_the_CEC
-
- GUI Power On
-
-Warm Boot the CEC
- [Documentation] Warm boot the CEC.
- [Tags] Warm_Boot_the_CEC
-
- Controller Server Power Click power__warm-boot
- Controller Power Operations Confirmation Click ${power_operations}
- ... ${warm_boot} ${confirm_msg} ${yes}
-
-Immediate Power Off the CEC
- [Documentation] Immediate power off the CEC.
- [Tags] Immediate_Power_Off_the_CEC
-
- Controller Server Power Click power__hard-shutdown
- Controller Power Operations Confirmation Click ${power_operations}
- ... ${power_off} ${confirm_msg} ${yes}
-
-Cold Boot the CEC
- [Documentation] Cold boot the CEC.
- [Tags] Cold_Boot_the_CEC
-
- Controller Server Power Click power__cold-boot
- Controller Power Operations Confirmation Click ${power_operations}
- ... ${cold_boot} ${confirm_msg} ${yes}
-
-Orderly Shutdown the CEC
- [Documentation] Orderly shutdown the CEC.
- [Tags] Orderly_Shutdown_the_CEC
-
- Controller Server Power Click power__soft-shutdown
- Controller Power Operations Confirmation Click ${power_operations}
- ... ${shut_down} ${confirm_msg} ${yes}
-
-OpenBMC GUI Logoff
- [Documentation] Log out from OpenBMC GUI.
- [Tags] OpenBMC_GUI_Logoff
-
- Log ${obmc_BMC_URL}
- Log To Console ${obmc_BMC_URL}
- Click Element header
-
-
-
-