#-*- coding: utf-8 -*-" ## # Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. # copyright # THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, # IN PART OR IN WHOLE, # WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. # # file tst_settings_date_and_time # date 05/26/2022 # author Papiya Mandal # author Amrita Debnath import builtins import names from configuration import config, utility from configuration.config import SERVICE_CONF_LOCATION from dialin.ui.hd_simulator import HDSimulator from dialin.common.hd_defs import HDOpModes, HDOpSubModes from dialin.ui import utils EXPORT_LOGS = "EXport Logs" SERVICE_SCREEN_OPTIONS = ["Information", "Volume And Brightness", "Wi-Fi", "Bluetooth Cuff", "DG Cleaning", "Service", "Export Logs"] hd_simulator = HDSimulator() def settings_text_obj(text): names.o_settings_home_text_obj["text"] = text return names.o_settings_home_text_obj def services_screen_text_obj(text): names.o_services_screen_text_obj["text"] = text return names.o_services_screen_text_obj def navigate_to_settings_screen(): """ Method to navigate to "Settings" screen """ test.startSection("Navigating to 'Device Settings' screen") hd_simulator.cmd_send_hd_operation_mode(op_mode=HDOpModes.MODE_SERV.value, sub_mode=HDOpSubModes.STANDBY_START_STATE.value) utils.waitForGUI(1) mouseClick(waitForObjectExists(names.o_settings_Text)) test.compare(device_settings_text.text, config.SERIVCES_TITLE, "{} screen is displayed".format(config.SERIVCES_TITLE)) mouseClick(waitForObjectExists(names.o_shutdown_btn)) test.compare(device_settings_text.text, config.SHUTDOWN_BUTTON_TEXT, "{} screen is displayed".format(config.SHUTDOWN_BUTTON_TEXT)) device_settings_text = waitForObjectExists(settings_text_obj(config.DEVICE_SETTINGS_TEXT)) test.compare(device_settings_text.text, config.DEVICE_SETTINGS_TEXT, "{} screen is displayed".format(config.DEVICE_SETTINGS_TEXT)) test.endSection() def verify_export_logs_screen(): """ Method to verify the export logs screen """ test.startSection("Verifying the the export logs screen") test.log("Navigating to service screen to export log screen") utils.waitForGUI(0.3) mouseClick(waitForObjectExists(settings_text_obj(EXPORT_LOGS))) test.compare(services_screen_text_obj.text, config.BACK_BUTTON_TEXT, "{} screen is displayed".format(config.BACK_BUTTON_TEXT)) test.compare(services_screen_text_obj.text, config.BACK_BUTTON_TEXT, "{} screen is displayed".format(config.BACK_BUTTON_TEXT)) test.endSection() def navigate_to_services_password_screen_and_enter_password(): """ Method to navigate to services screen and verify the "Please Enter The Service Password" title is displayed and enter password, verify the password and click on confirm button """ test.startSection("Navigating to 'services password' screen and enter password") mouseClick(waitForObjectExists(settings_text_obj(config.SERIVCES_TITLE))) services_password_title = waitForObjectExists(services_screen_text_obj(SERVICES_TITLE_TEXT)) test.compare(services_password_title.text, SERVICES_TITLE_TEXT, "{} should display once user is navigated to services password screen".format(SERVICES_TITLE_TEXT)) utils.waitForGUI(0.5) verify_incorrect_password_msg() utils.waitForGUI(0.5) mouseClick(waitForObjectExists(settings_text_obj(config.SERIVCES_TITLE))) utils.waitForGUI(0.5) test.log("Clicking on password entry field") utils.waitForGUI(0.5) mouseClick(waitForObjectExists(names.o_switch_keyboard_to_keypad)) mouseClick(waitForObjectExists(names.o_password_text_field)) with open(SERVICE_CONF_LOCATION, "r") as file: lines = file.readlines() for index, line in enumerate(lines): if "Service Password" in line: services_password = lines[index+1][:-1] break else: continue utility.enter_keyboard_numeric_value(entry=str(services_password)) mouseClick(waitForObjectExists(names.o_show_password)) test.log("Verifying the entered password") password = str((waitForObjectExists(names.o_password_text_field)).text) test.compare(password, str(services_password), "Entered password should be {}".format(str(services_password))) mouseClick(waitForObjectExists(services_screen_text_obj(config.CONFIRM_TEXT))) utils.waitForGUI(0.5) for option in SERVICE_SCREEN_OPTIONS: option_text = waitForObjectExists(settings_text_obj(option)) test.compare(option_text.text, option, "{} should be available under services screen".format(option)) test.endSection() def main(): utils.tstStart(__file__) startApplication(config.AUT_NAME) navigate_to_settings_screen() navigate_to_services_password_screen_and_enter_password() utils.tstDone()