Launch browser support for different browser flavors
Resolves openbmc/openbmc-test-automation#1217
Change-Id: I186f1794db729ad267562e4e318036742b9cc8d9
Signed-off-by: Sathyajith M S <sathyajith.ms@in.ibm.com>
diff --git a/gui/obmc_gui/lib/resource.robot b/gui/obmc_gui/lib/resource.robot
index 9d3dad9..70cf5b3 100644
--- a/gui/obmc_gui/lib/resource.robot
+++ b/gui/obmc_gui/lib/resource.robot
@@ -24,6 +24,7 @@
*** Variables ***
${obmc_gui_url} https://${OPENBMC_HOST}
+
# Default Browser.
${default_browser} ff
@@ -49,16 +50,29 @@
${windows_platform}= Run Keyword And Return Status
... Should Contain ${curdir_lower_case} c:\
${op_system}= Run Keyword If '${windows_platform}' == 'True'
- ... Set Variable windows
- ... ELSE
- ... Set Variable linux
+ ... Set Variable windows
+ ... ELSE
+ ... Set Variable linux
[Return] ${op_system}
Launch Browser in Windows Platform
[Documentation] Open the browser with the URL and
... login on windows platform.
- ${BROWSER_ID}= Open Browser ${obmc_gui_url} ${default_browser}
+ ${browser_choice}= Run Keyword And Return Status
+ ... Variable Should Exist ${BROWSER_TYPE}
+ Run Keyword If '${browser_choice}' == 'True'
+ ... Launch Browser ${BROWSER_TYPE}
+ ... ELSE
+ ... Launch Browser
+
+Launch Browser
+ [Documentation] Launches the desired browser.
+ [Arguments] ${launch_browser}=${default_browser}
+
+ # launch_browser Open the required browser.
+
+ ${BROWSER_ID}= Open Browser ${obmc_gui_url} ${launch_browser}
Maximize Browser Window
Set Global Variable ${BROWSER_ID}
@@ -74,6 +88,7 @@
[Documentation] Perform login to open BMC GUI.
[Arguments] ${username}=${OPENBMC_USERNAME}
... ${password}=${OPENBMC_PASSWORD}
+
# Description of argument(s):
# username The username.
# password The password.
@@ -91,6 +106,7 @@
Test Setup Execution
[Documentation] Verify all the preconditions to be tested.
[Arguments] ${obmc_test_setup_state}=${OBMC_PowerOff_state}
+
# Description of argument(s):
# obmc_test_setup The OpenBMC required state.
@@ -143,8 +159,9 @@
Wait OpenBMC To Become Stable
[Documentation] Power off the OBMC.
- [Arguments] ${OBMC_expected_state} ${retry_time}=15 min
+ [Arguments] ${obmc_expected_state} ${retry_time}=15 min
... ${retry_interval}=45 sec
+
# Description of argument(s):
# OBMC_expected_state The OBMC state which is required for test.
# retry_time Total wait time after executing the command.
@@ -160,6 +177,7 @@
Verify OpenBMC State From REST Interface
[Documentation] Verify system state from REST Interface.
[Arguments] ${obmc_required_state}
+
# Description of argument(s):
# obmc_required_state The OBMC state which is required for test.
@@ -169,6 +187,7 @@
Click Yes Button
[Documentation] Click the 'Yes' button.
[Arguments] ${xpath_button_yes}
+
# Description of argument(s):
# xpath_button_yes The xpath of 'Yes' button.
@@ -189,22 +208,26 @@
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
@@ -213,6 +236,7 @@
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.)
@@ -224,6 +248,7 @@
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.)