1#!/usr/bin/python
2
3r"""
4Contains xpaths and related string constants applicable for new Vue based OpenBMC GUI.
5"""
6
7
8class gui_variables():
9
10    # Login page
11    xpath_textbox_hostname = "//input[@id='host']"
12    xpath_textbox_username = "//*[@data-test-id='login-input-username']"
13    xpath_textbox_password = "//*[@data-test-id='login-input-password']"
14    xpath_login_button = "//*[@data-test-id='login-button-submit']"
15    xpath_logout_button = "//*[@data-test-id='appHeader-link-logout']"
16
17    # Overview menu
18    xpath_overview_menu = "//*[@data-test-id='nav-item-overview']"
19
20    # GUI header
21    xpath_root_button_menu = "//*[@data-test-id='appHeader-container-user']"
22    xpath_profile_settings = "//*[@data-test-id='appHeader-link-profile']"
23    xpath_server_health_header = "//*[@data-test-id='appHeader-container-health']"
24    xpath_event_header = "//h1[text()='Event logs']"
25    xpath_server_power_header = "//*[@data-test-id='appHeader-container-power']"
26    xpath_refresh_button = "//*[@data-test-id='appHeader-button-refresh']"
27    xpath_network_page_header = "//h1[contains(text(), 'Network settings')]"
28    xpath_sol_header = "//h1[contains(text(), 'Serial over LAN console')]"
29    xpath_sol_console_heading = "//h1[text()='Serial over LAN (SOL) console']"
30
31    # Health menu
32    xpath_health_menu = "//*[@data-test-id='nav-button-health']"
33    xpath_event_logs_sub_menu = "//*[@data-test-id='nav-item-event-logs']"
34    xpath_sensor_sub_menu = "//*[@data-test-id='nav-item-sensors']"
35    xpath_hardware_status_sub_menu = "//*[@data-test-id='nav-item-hardware-status']"
36
37    # Control menu
38    xpath_control_menu = "//*[@data-test-id='nav-button-control']"
39    xpath_manage_power_usage_sub_menu = "//*[@data-test-id='nav-item-manage-power-usage']"
40    xpath_reboot_bmc_sub_menu = "//*[@data-test-id='nav-item-reboot-bmc']"
41    xpath_server_led_sub_menu = "//*[@data-test-id='nav-item-server-led']"
42    xpath_server_power_operations_sub_menu = "//*[@data-test-id='nav-item-server-power-operations']"
43    xpath_sol_sub_menu = "//*[@data-test-id='nav-item-serial-over-lan']"
44    xpath_kvm_sub_menu = "//*[@data-test-id='nav-item-kvm']"
45
46    # Configuration menu
47    xpath_server_configuration = "//*[@data-test-id='nav-button-configuration']"
48    xpath_select_network_settings = "//*[@data-test-id='nav-item-network-settings']"
49    xpath_date_time_settings_sub_menu = "//*[@data-test-id='nav-item-date-time-settings']"
50    xpath_firmware_update_sub_menu = "//*[@data-test-id='nav-item-firmware']"
51
52    # Access control menu
53    xpath_access_control_menu = "//*[@data-test-id='nav-button-access-control']"
54    xpath_ldap_sub_menu = "//*[@data-test-id='nav-item-ldap']"
55    xpath_save_settings_button = "//button[contains(text(),'Save settings')]"
56    xpath_local_user_management_sub_menu = "//*[@data-test-id='nav-item-local-user-management']"
57    xpath_ssl_certificates_sub_menu = "//*[@data-test-id='nav-item-ssl-certificates']"
58
59    # Profile settings
60    xpath_default_UTC = "//*[@data-test-id='profileSettings-radio-defaultUTC']"
61    xpath_profile_save_button = "//*[@data-test-id='profileSettings-button-saveSettings']"
62