#-*- 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 from dialin.ui import utils SERVICES_TITLE_TEXT = "Service Password" SET_DATE_AND_TIME_TEXT = "Set Date And Time" INCORRECT_PASSWORD = "abcd" INCORRECT_PASSWORD_MSG = "Incorrect service password" 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_STAN.value, sub_mode=HDOpModes.MODE_FAUL.value) utils.waitForGUI(1) mouseClick(waitForObjectExists(names.o_settings_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_incorrect_password_msg(): """ Method to verify the message displayed upon entering wrong password """ test.startSection("Verifying the functionalities with Incorrect password") test.log("Clicking on password entry field") utils.waitForGUI(0.3) mouseClick(waitForObjectExists(names.o_password_text_field)) utility.enter_keyboard_numeric_value(entry=str(INCORRECT_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, INCORRECT_PASSWORD, "Entered password should be {}".format(str(INCORRECT_PASSWORD))) mouseClick(waitForObjectExists(services_screen_text_obj(config.CONFIRM_TEXT))) incorrect_password_text = waitForObjectExists(settings_text_obj(INCORRECT_PASSWORD_MSG)) test.compare(incorrect_password_text.text, INCORRECT_PASSWORD_MSG, "{} message should display upon entering wrong password".format(INCORRECT_PASSWORD_MSG)) 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()