Run GUI automation with user provided browser and mode

Resolves openbmc/openbmc-test-automation#1484

Change-Id: I77843477f5c505551f5c57088f512090b509c60a
Signed-off-by: Rahul Maheshwari <rahulmaheshwari@in.ibm.com>
diff --git a/README.md b/README.md
index ed3c710..c45827f 100644
--- a/README.md
+++ b/README.md
@@ -207,6 +207,13 @@
     Witherspoon:  test_lists/skip_test_witherspoon
     ```
 
+* Run GUI tests:
+
+    By default, GUI runs with Firefox browser and headless mode. Example with chrome browser and header mode:
+    ```
+    robot -v OPENBMC_HOST:x.x.x.x -v GUI_BROWSER:gc -v GUI_MODE:header gui/obmc_gui/test/
+    ```
+
 * How to run CI and CT bucket test:
 
     Default CI test bucket list:
diff --git a/gui/obmc_gui/lib/resource.robot b/gui/obmc_gui/lib/resource.robot
index 343a733..82b01bf 100644
--- a/gui/obmc_gui/lib/resource.robot
+++ b/gui/obmc_gui/lib/resource.robot
@@ -25,13 +25,15 @@
 *** Variables ***
 ${obmc_gui_url}              https://${OPENBMC_HOST}
 
-# Default Browser.
-${default_browser}           ff
-
 ${obmc_PowerOff_state}       Off
 ${obmc_PowerRunning_state}   Running
 ${obmc_PowerStandby_state}   Standby
 
+# Default GUI broswer and mode is set to "Firefox" and "headless"
+# respectively here.
+${GUI_BROWSER}               ff
+${GUI_MODE}                  headless
+
 *** Keywords ***
 Launch OpenBMC GUI Browser
     [Documentation]  Launch the OpenBMC GUI URL on a browser.
@@ -64,7 +66,7 @@
 Launch Header Browser
     [Documentation]  Open the browser with the URL and
     ...              login on windows platform.
-    [Arguments]  ${browser_type}=${default_browser}
+    [Arguments]  ${browser_type}=${GUI_BROWSER}
 
     # Description of argument(s):
     # browser_type  Type of browser (e.g. "firefox", "chrome", etc.).
@@ -75,7 +77,7 @@
 
 Launch Headless Browser
     [Documentation]  Launch headless browser.
-    [Arguments]  ${URL}=${obmc_gui_url}  ${browser}=${default_browser}
+    [Arguments]  ${URL}=${obmc_gui_url}  ${browser}=${GUI_BROWSER}
 
     # Description of argument(s):
     # URL      Openbmc GUI URL to be open
@@ -214,7 +216,7 @@
 
 Open Browser With URL
     [Documentation]  Open browser with specified URL and returns browser id.
-    [Arguments]  ${URL}  ${browser}=ff  ${mode}=headless
+    [Arguments]  ${URL}  ${browser}=ff  ${mode}=${GUI_MODE}
 
     # Description of argument(s):
     # URL      Openbmc GUI URL to be open
diff --git a/tools/generate_argumentfile.sh b/tools/generate_argumentfile.sh
index b8f30bf..4f1e60c 100755
--- a/tools/generate_argumentfile.sh
+++ b/tools/generate_argumentfile.sh
@@ -5,6 +5,8 @@
 echo "--variable OPENBMC_USERNAME:$OPENBMC_USERNAME" >> $ARG_FILE
 echo "--variable OPENBMC_PASSWORD:$OPENBMC_PASSWORD" >> $ARG_FILE
 echo "--variable OPENBMC_SYSTEMMODEL:$OPENBMC_SYSTEMMODEL" >> $ARG_FILE
+echo "--variable GUI_BROWSER:$GUI_BROSWER" >> $ARG_FILE
+echo "--variable GUI_MODE:$GUI_MODE" >> $ARG_FILE
 echo "--variable PDU_TYPE:$PDU_TYPE" >> $ARG_FILE
 echo "--variable PDU_IP:$PDU_IP" >> $ARG_FILE
 echo "--variable PDU_USERNAME:$PDU_USERNAME" >> $ARG_FILE