154 lines
5.6 KiB
Plaintext
154 lines
5.6 KiB
Plaintext
(function () {
|
|
if (window !== window.top)
|
|
return;
|
|
|
|
//API - should be defined here in local scope
|
|
var act = null;
|
|
var ok = null;
|
|
var notOk = null;
|
|
var eq = null;
|
|
var notEq = null;
|
|
var handleAlert = null;
|
|
var handleConfirm = null;
|
|
var handlePrompt = null;
|
|
var handleBeforeUnload = null;
|
|
var inIFrame = null;
|
|
var __set$ = null;
|
|
var __get$ = null;
|
|
var __get$Loc = null;
|
|
var __set$Loc = null;
|
|
var __call$ = null;
|
|
var __proc$Script = null;
|
|
|
|
var $ = null;
|
|
var jQuery = null;
|
|
|
|
// NOTE: The global __waitFor is used to ensure that the page is ready for the next step to be executed.
|
|
// Usage: call the global __waitFor wherever required (test file, wrappers, modules, etc).
|
|
// The arguments are identical to the act.waitFor function arguments.
|
|
var __waitFor = null;
|
|
|
|
//Internals
|
|
(function () {
|
|
var hammerhead = window['%hammerhead%'];
|
|
var testCafeLegacyRunner = window['%testCafeLegacyRunner%'];
|
|
var testCafeUI = window['%testCafeUI%'];
|
|
|
|
var stepNames = {{{stepNames}}};
|
|
|
|
testCafeLegacyRunner.SETTINGS.set({
|
|
CURRENT_TEST_STEP_NAME: 'Page Load',
|
|
BROWSER_STATUS_URL: '{{{browserStatusUrl}}}',
|
|
TAKE_SCREENSHOTS: {{{takeScreenshots}}},
|
|
TAKE_SCREENSHOTS_ON_FAILS: {{{takeScreenshotsOnFails}}},
|
|
SKIP_JS_ERRORS: {{{skipJsErrors}}},
|
|
SELECTOR_TIMEOUT: {{{selectorTimeout}}},
|
|
ENABLE_SOURCE_INDEX: true,
|
|
NATIVE_DIALOGS_INFO: {{{nativeDialogsInfo}}},
|
|
|
|
PAGE_UNLOAD_BARRIER_TIMEOUT: 500,
|
|
REQUESTS_COLLECTION_DELAY: 300,
|
|
ADDITIONAL_REQUESTS_COLLECTION_DELAY: 100
|
|
});
|
|
|
|
var transport = testCafeLegacyRunner.transport;
|
|
var sandboxedJQuery = testCafeLegacyRunner.sandboxedJQuery;
|
|
var extendJQuerySelectors = testCafeLegacyRunner.extendJQuerySelectors;
|
|
var jQueryDataMethodProxy = testCafeLegacyRunner.jQueryDataMethodProxy;
|
|
|
|
var Runner = testCafeLegacyRunner.Runner;
|
|
var RunnerBase = testCafeLegacyRunner.RunnerBase;
|
|
|
|
var ProgressPanel = testCafeUI.ProgressPanel;
|
|
var modalBackground = testCafeUI.modalBackground;
|
|
var shadowUI = hammerhead.shadowUI;
|
|
|
|
Runner.startHeartbeat('{{{browserHeartbeatUrl}}}');
|
|
|
|
sandboxedJQuery.init(window, undefined);
|
|
extendJQuerySelectors(sandboxedJQuery.jQuery);
|
|
|
|
$ = jQuery = sandboxedJQuery.jQuery;
|
|
jQueryDataMethodProxy.setup($);
|
|
|
|
//NOTE: initialize API
|
|
var runner = new Runner(null, '{{{testRunId}}}', '{{{browserId}}}');
|
|
|
|
if (runner.stopped)
|
|
return;
|
|
|
|
if (runner.nextStep)
|
|
testCafeLegacyRunner.SETTINGS.get().CURRENT_TEST_STEP_NAME = stepNames[runner.nextStep - 1];
|
|
|
|
var progressPanel = null;
|
|
|
|
runner.on(RunnerBase.SCREENSHOT_CREATING_STARTED_EVENT, function () {
|
|
shadowUI.setBlind(true);
|
|
});
|
|
|
|
runner.on(RunnerBase.SCREENSHOT_CREATING_FINISHED_EVENT, function () {
|
|
shadowUI.setBlind(false);
|
|
});
|
|
|
|
runner.on(runner.ACTION_TARGET_WAITING_STARTED_EVENT, function (e) {
|
|
if (!progressPanel)
|
|
progressPanel = new ProgressPanel();
|
|
|
|
if (!e.isWaitAction)
|
|
progressPanel.show(RunnerBase.WAITING_FOR_ACTION_TARGET_MESSAGE, testCafeLegacyRunner.SETTINGS.get().SELECTOR_TIMEOUT);
|
|
});
|
|
|
|
runner.on(runner.ACTION_RUN_EVENT, function () {
|
|
if (progressPanel)
|
|
progressPanel.close(true);
|
|
});
|
|
|
|
runner.on(runner.TEST_FAILED_EVENT, function () {
|
|
if (progressPanel)
|
|
progressPanel.close(false);
|
|
});
|
|
|
|
act = runner.act;
|
|
ok = runner.ok;
|
|
notOk = runner.notOk;
|
|
eq = runner.eq;
|
|
notEq = runner.notEq;
|
|
handleAlert = runner.handleAlert;
|
|
handleConfirm = runner.handleConfirm;
|
|
handlePrompt = runner.handlePrompt;
|
|
handleBeforeUnload = runner.handleBeforeUnload;
|
|
inIFrame = runner.inIFrame;
|
|
__set$ = window.__set$;
|
|
__get$ = window.__get$;
|
|
__set$Loc = window.__set$Loc;
|
|
__get$Loc = window.__get$Loc;
|
|
__call$ = window.__call$;
|
|
__proc$Script = window.__proc$Script;
|
|
__waitFor = function () {
|
|
runner.setGlobalWaitFor.apply(runner, arguments);
|
|
};
|
|
|
|
modalBackground.initAndShowLoadingText();
|
|
})();
|
|
|
|
try {
|
|
//!----------------------------------BEGIN HELPERS AND REQUIRES CODE----------------------------------
|
|
{{{sharedJs}}};
|
|
//!------------------------------------END HELPERS AND REQUIRES CODE----------------------------------
|
|
} catch (err) {
|
|
act._onJSError(err);
|
|
return;
|
|
}
|
|
|
|
try {
|
|
act._start(
|
|
{{{stepNames}}},
|
|
//!-----------------------------------------BEGIN TEST CODE-------------------------------------------
|
|
{{{testSteps}}}
|
|
//!------------------------------------------END TEST CODE--------------------------------------------
|
|
);
|
|
} catch (err) {
|
|
act._onJSError(err);
|
|
}
|
|
})();
|