UNPKG

@sap_oss/wdio-qmate-service

Version:

[![REUSE status](https://api.reuse.software/badge/github.com/SAP/wdio-qmate-service)](https://api.reuse.software/info/github.com/SAP/wdio-qmate-service)[![Node.js CI](https://github.com/SAP/wdio-qmate-service/actions/workflows/node.js.yml/badge.svg)](http

85 lines 3.02 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Android = void 0; // Imports const verboseLogger_1 = require("../../helper/verboseLogger"); const errorHandler_1 = __importDefault(require("../../helper/errorHandler")); /** * @class android * @memberof mobile */ class Android { vlf = new verboseLogger_1.VerboseLoggerFactory("mobile", "android"); ErrorHandler = new errorHandler_1.default(); /** * @function pressKeyByName * @memberof mobile.android * @description Simulate pressing a hardware key on the android device (e.g., back button, home button, etc.), * @param {string} keyName - The name of the key (e.g., "back", "home", "volumeUp", etc.) * @returns {Promise<void>} * @example * await mobile.android.pressKeyByName("back"); * await mobile.android.pressKeyByName("home"); */ async pressKeyByName(keyName) { const vl = this.vlf.initLog(this.pressKeyByName); const keyCodeMap = { back: 4, home: 3, volumeUp: 24, volumeDown: 25, VolumeMute: 164, power: 26, enter: 66, space: 62, delete: 67, menu: 82, search: 84, camera: 27, focus: 80, notification: 83, call: 5, calendar: 208, recent: 312, settings: 176 }; try { const keyCode = keyCodeMap[keyName.toLowerCase()]; if (keyCode !== undefined) { vl.log(`Pressing key: ${keyName} (code: ${keyCode})`); await browser.pressKeyCode(keyCode); } else { throw new Error(`Key code for "${keyName}" not found.`); } } catch (error) { return this.ErrorHandler.logException(error, "Error: During pressKeyByName in Android", true); } } /** * @function pressKeyByCode * @memberof mobile.android * @description Simulate pressing a hardware key on the android device (e.g., back button, home button, etc.), * @param {string} keyCode - The code of the key (e.g., 4 (back), 3 (home) , etc.) * @returns {Promise<void>} * @example await mobile.android.pressKeyByCode(4); * @see https://developer.android.com/reference/android/view/KeyEvent */ async pressKeyByCode(keyCode) { const vl = this.vlf.initLog(this.pressKeyByCode); try { vl.log(`Pressing key by code: ${keyCode}`); await browser.pressKeyCode(keyCode); } catch (error) { return this.ErrorHandler.logException(error, "Error: During pressKeyByCode in Android", true); } } } exports.Android = Android; exports.default = new Android(); //# sourceMappingURL=android.js.map