@sap_oss/wdio-qmate-service
Version:
[](https://api.reuse.software/info/github.com/SAP/wdio-qmate-service)[](http
85 lines • 3.02 kB
JavaScript
;
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