1#!/usr/bin/env python3 2 3r""" 4Contains xpaths and related string constants applicable for new Vue based OpenBMC GUI. 5""" 6 7 8class gui_variables: 9 r""" 10 Base class for GUI related XPATH variables. 11 """ 12 13 # Login page 14 xpath_textbox_hostname = "//input[@id='host']" 15 xpath_textbox_username = "//*[@data-test-id='login-input-username']" 16 xpath_textbox_password = "//*[@data-test-id='login-input-password']" 17 xpath_login_button = "//*[@data-test-id='login-button-submit']" 18 xpath_logout_button = "//*[@data-test-id='appHeader-link-logout']" 19 20 # Overview menu 21 xpath_overview_menu = "//*[@data-test-id='nav-item-overview']" 22 23 # GUI header 24 xpath_root_button_menu = "//*[@data-test-id='appHeader-container-user']" 25 xpath_profile_settings = "//*[@data-test-id='appHeader-link-profile']" 26 xpath_server_health_header = ( 27 "//*[@data-test-id='appHeader-container-health']" 28 ) 29 xpath_server_power_header = ( 30 "//*[@data-test-id='appHeader-container-power']" 31 ) 32 xpath_refresh_button = "//*[@data-test-id='appHeader-button-refresh']" 33 34 # Logs menu 35 xpath_logs_menu = "//*[@data-test-id='nav-button-logs']" 36 xpath_dumps_sub_menu = "//*[@data-test-id='nav-item-dumps']" 37 xpath_dumps_header = "//h1[text()='Dumps']" 38 xpath_event_logs_sub_menu = "//*[@data-test-id='nav-item-event-logs']" 39 xpath_event_logs_heading = "//h1[contains(text(), 'Event logs')]" 40 xpath_progress_logs_sub_menu = ( 41 "//*[@data-test-id='nav-item-post-code-logs']" 42 ) 43 44 # Hardware status menu 45 xpath_hardware_status_menu = ( 46 "//*[@data-test-id='nav-button-hardware-status']" 47 ) 48 xpath_inventory_and_leds_sub_menu = ( 49 "//*[@data-test-id='nav-item-inventory']" 50 ) 51 xpath_sensor_sub_menu = "//*[@data-test-id='nav-item-sensors']" 52 xpath_inventory_and_leds_heading = ( 53 "//h1[contains(text(), 'Inventory and LEDs')]" 54 ) 55 56 # Operations menu 57 xpath_operations_menu = "//*[@data-test-id='nav-button-operations']" 58 xpath_factory_reset_sub_menu = ( 59 "//*[@data-test-id='nav-item-factory-reset']" 60 ) 61 xpath_firmware_update_sub_menu = "//*[@data-test-id='nav-item-firmware']" 62 xpath_reboot_bmc_sub_menu = "//*[@data-test-id='nav-item-reboot-bmc']" 63 xpath_host_console_sub_menu = "//*[@data-test-id='nav-item-host-console']" 64 xpath_server_power_operations_sub_menu = ( 65 "//*[@data-test-id='nav-item-server-power-operations']" 66 ) 67 xpath_host_console_heading = "//h1[text()='Host console']" 68 xpath_firmware_heading = "//h1[contains(text(), 'Firmware')]" 69 70 # Settings menu 71 xpath_settings_menu = "//*[@data-test-id='nav-button-settings']" 72 xpath_network_heading = "//h1[text()='Network']" 73 xpath_date_time_sub_menu = "//*[@data-test-id='nav-item-date-time']" 74 xpath_network_sub_menu = "//*[@data-test-id='nav-item-network']" 75 xpath_power_restore_policy_sub_menu = ( 76 "//*[@data-test-id='nav-item-power-restore-policy']" 77 ) 78 xpath_static_dns = "//h2[text()='Static DNS']" 79 xpath_dns_servers_toggle = ( 80 "//*[@data-test-id='networkSettings-switch-useDns']" 81 ) 82 xpath_add_dns_ip_address_button = ( 83 "//button[contains(text(),'Add IP address')]" 84 ) 85 xpath_input_static_dns = "//*[@id='staticDns']" 86 87 # Security and access menu 88 xpath_secuity_and_accesss_menu = ( 89 "//*[@data-test-id='nav-button-security-and-access']" 90 ) 91 xpath_sessions_sub_menu = "//*[@data-test-id='nav-item-sessions']" 92 xpath_ldap_sub_menu = "//*[@data-test-id='nav-item-ldap']" 93 xpath_user_management_sub_menu = ( 94 "//*[@data-test-id='nav-item-user-management']" 95 ) 96 xpath_policies_sub_menu = "//*[@data-test-id='nav-item-policies']" 97 xpath_certificates_sub_menu = "//*[@data-test-id='nav-item-certificates']" 98 99 # Resource management menu 100 xpath_resource_management_menu = ( 101 "//*[@data-test-id='nav-button-resource-management']" 102 ) 103 xpath_power_sub_menu = "//*[@data-test-id='nav-item-power']" 104 xpath_power_heading = "//h1[contains(text(), 'Power')]" 105 106 # Profile settings 107 xpath_default_UTC = "//*[@data-test-id='profileSettings-radio-defaultUTC']" 108 xpath_profile_save_button = ( 109 "//*[@data-test-id='profileSettings-button-saveSettings']" 110 ) 111 xpath_profile_settings_link = "//a[contains(text(),'Profile Settings')]" 112 xpath_profile_settings_heading = "//h1[text()='Profile settings']" 113 xpath_browser_offset = ( 114 "//*[@data-test-id='profileSettings-radio-browserOffset']" 115 ) 116 xpath_browser_offset_textfield = ( 117 xpath_browser_offset + "/following-sibling::*" 118 ) 119 xpath_input_password = ( 120 "//*[@data-test-id='profileSettings-input-newPassword']" 121 ) 122 xpath_input_confirm_password = ( 123 "//*[@data-test-id='profileSettings-input-confirmPassword']" 124 ) 125 126 # Common variables 127 xpath_save_settings_button = "//button[contains(text(),'Save')]" 128 xpath_confirm_button = "//button[contains(text(),'Confirm')]" 129 xpath_cancel_button = "//button[contains(text(),'Cancel')]" 130 xpath_add_button = "//button[normalize-space(text())='Add']" 131 xpath_page_loading_progress_bar = ( 132 "//*[@aria-label='Page loading progress bar']" 133 ) 134 135 # Reboot sub menu 136 xpath_reboot_bmc_heading = "//h1[text()='Reboot BMC']" 137 xpath_reboot_bmc_button = "//button[contains(text(),'Reboot BMC')]" 138 xpath_confirm_bmc_reboot = "//*[@class='btn btn-primary']" 139