tia
Version:
Time is All (logs driven test engine with ExtJs support)
73 lines (66 loc) • 2.22 kB
text/typescript
/* globals gT, gIn */
import * as fs from 'fs';
import * as path from 'path';
import { EnableLog } from '../common-types';
/**
* Initializes TIA ExtJs exploration helpers.
* Loads and runs the e-br-explore.js script in context of current browser window.
*
* Sets default handlers for debug and explorations.
* Ctrl/Meta + Alt + LClick - shows info about ExtJs component under mouse cursor.
* And Ctrl/Meta + Alt + t - shows components hierarchy.
* Removes previous handlers (if they exist).
*
* Sets debug mode for browser JS TIA part.
*
* Sets body clicker to avoid session expiration.
*
* @param {boolean} [enableLog] - is logging needed for this action.
*
* @returns a promise which will be resolved with script return value.
*/
export function init(enableLog?: EnableLog) {
return (
gIn
.wrap({
msg: 'Initialization of TIA ExtJs Exp helpers ... ',
enableLog,
act: () => {
const scriptStr = fs.readFileSync(
path.join(gT.tiaDir, 'src', 'api', 'extjs', 'browser-part', 'e-br-explore.js'),
'utf8'
);
// gIn.tracer.msg3('init: script: ' + scriptStr);
return gT.s.browser.executeScriptWrapper(scriptStr);
},
})
.then(() => {
const scriptStr = `
try {
document.removeEventListener('click', tiaEJOnMouseDown);
document.removeEventListener('keydown', tiaEJOnKeyDown);
} catch(e) {
}
window.tiaEJOnMouseDown = function (e) {
if ((e.ctrlKey || e.metaKey) && e.altKey && e.which === 1) {
e.preventDefault();
e.stopImmediatePropagation();
tiaEJExp.showCompInfoFromPoint(e);
}
};
window.tiaEJOnKeyDown = function (e) {
if ((e.ctrlKey || e.metaKey) && e.altKey && e.keyCode === 84) {
e.preventDefault();
e.stopImmediatePropagation();
tiaEJExp.showCompHierarchy();
}
};
document.addEventListener('click', tiaEJOnMouseDown);
document.addEventListener('keydown', tiaEJOnKeyDown);
`;
return gT.s.browser.executeScriptWrapper(scriptStr);
})
// .then(() => gT.s.browser.setDebugMode())
.then(() => gT.s.browser.setBodyClicker())
);
}