How to use restoreWindowState method in Testcafe

Best JavaScript code snippet using testcafe

nw-winstate.js

Source:nw-winstate.js Github

copy

Full Screen

...50 currWinMode = winState.mode;51 if (currWinMode === 'maximized') {52 win.maximize();53 } else {54 restoreWindowState();55 }56 } else {57 currWinMode = 'normal';58 dumpWindowState();59 }60 win.show();61 //}62 }63 function dumpWindowState() {64 if (!winState) {65 winState = {};66 }67 // we don't want to save minimized state, only maximized or normal68 if (currWinMode === 'maximized') {69 winState.mode = 'maximized';70 } else {71 winState.mode = 'normal';72 }73 // when window is maximized you want to preserve normal74 // window dimensions to restore them later (even between sessions)75 if (currWinMode === 'normal') {76 winState.x = win.appWindow.outerBounds.left;77 winState.y = win.appWindow.outerBounds.top;78 winState.width = win.appWindow.outerBounds.width;79 winState.height = win.appWindow.outerBounds.height;80 // save delta only of it is not zero81 if (deltaHeight !== 'disabled' && deltaHeight !== 0 && currWinMode !== 'maximized') {82 winState.deltaHeight = deltaHeight;83 }84 }85 }86 function restoreWindowState() {87 // deltaHeight already saved, so just restore it and adjust window height88 if (deltaHeight !== 'disabled' && typeof winState.deltaHeight !== 'undefined') {89 deltaHeight = winState.deltaHeight;90 winState.height = winState.height - deltaHeight;91 }92 //Make sure that the window is displayed somewhere on a screen that is connected to the PC. 93 //Imagine you run the program on a secondary screen connected to a laptop - and then the next time you start the 94 //program the screen is not connected...95 gui.Screen.Init();96 var screens = gui.Screen.screens;97 var locationIsOnAScreen = false;98 for (var i = 0; i < screens.length; i++) {99 var screen = screens[i];100 if (winState.x > screen.bounds.x && winState.x < screen.bounds.x + screen.bounds.width) {101 if (winState.y > screen.bounds.y && winState.y < screen.bounds.y + screen.bounds.height) {102 console.debug("Location of window (" + winState.x + "," + winState.y + ") is on screen " + JSON.stringify(screen));103 locationIsOnAScreen = true;104 }105 }106 }107 if (!locationIsOnAScreen) {108 console.debug("Last saved position of windows is not usable on current monitor setup. Moving window to center!");109 win.setPosition("center");110 }111 else {112 win.resizeTo(winState.width, winState.height);113 win.moveTo(winState.x, winState.y);114 }115 }116 function saveWindowState() {117 dumpWindowState();118 localStorage.windowState = JSON.stringify(winState);119 }120 window.saveWindowState = saveWindowState;121 initWindowState();122 win.on('maximize', function () {123 isMaximizationEvent = true;124 currWinMode = 'maximized';125 saveWindowState();126 });127 win.on('unmaximize', function () {128 currWinMode = 'normal';129 restoreWindowState();130 saveWindowState();131 });132 win.on('minimize', function () {133 currWinMode = 'minimized';134 saveWindowState();135 });136 win.on('restore', function () {137 currWinMode = 'normal';138 saveWindowState();139 });140 win.window.addEventListener('resize', function () {141 // resize event is fired many times on one resize action,142 // this hack with setTiemout forces it to fire only once143 clearTimeout(resizeTimeout);...

Full Screen

Full Screen

window-state.js

Source:window-state.js Github

copy

Full Screen

...37 currWinMode = winState.mode;38 if (currWinMode === 'maximized') {39 win.maximize();40 } else {41 restoreWindowState();42 }43 } else {44 currWinMode = 'normal';45 if (deltaHeight !== 'disabled') deltaHeight = 0;46 dumpWindowState();47 }48 win.show();49}50function dumpWindowState() {51 if (!winState) {52 winState = {};53 }54 // we don't want to save minimized state, only maximized or normal55 if (currWinMode === 'maximized') {56 winState.mode = 'maximized';57 } else {58 winState.mode = 'normal';59 }60 // when window is maximized you want to preserve normal61 // window dimensions to restore them later (even between sessions)62 if (currWinMode === 'normal') {63 winState.x = win.x;64 winState.y = win.y;65 winState.width = win.width;66 winState.height = win.height;67 // save delta only of it is not zero68 if (deltaHeight !== 'disabled' && deltaHeight !== 0 && currWinMode !== 'maximized') {69 winState.deltaHeight = deltaHeight;70 }71 }72}73function restoreWindowState() {74 // deltaHeight already saved, so just restore it and adjust window height75 if (deltaHeight !== 'disabled' && typeof winState.deltaHeight !== 'undefined') {76 deltaHeight = winState.deltaHeight77 winState.height = winState.height - deltaHeight78 }79 win.resizeTo(winState.width, winState.height);80 win.moveTo(winState.x, winState.y);81}82function saveWindowState() {83 dumpWindowState();84 localStorage.windowState = JSON.stringify(winState);85}86initWindowState();87win.on('maximize', function () {88 isMaximizationEvent = true;89 currWinMode = 'maximized';90});91win.on('unmaximize', function () {92 currWinMode = 'normal';93 restoreWindowState();94});95win.on('minimize', function () {96 currWinMode = 'minimized';97});98win.on('restore', function () {99 currWinMode = 'normal';100});101win.window.addEventListener('resize', function () {102 // resize event is fired many times on one resize action,103 // this hack with setTiemout forces it to fire only once104 clearTimeout(resizeTimeout);105 resizeTimeout = setTimeout(function () {106 // on MacOS you can resize maximized window, so it's no longer maximized107 if (isMaximizationEvent) {...

Full Screen

Full Screen

winstate.js

Source:winstate.js Github

copy

Full Screen

...33 win.maximize();34 } else if (currWinMode === 'fullscreen') {35 win.enterFullscreen();36 } else {37 restoreWindowState();38 }39 } else {40 currWinMode = 'normal';41 deltaHeight = 042 dumpWindowState();43 }44 win.show();45}46function dumpWindowState() {47 if (!winState) {48 winState = {};49 }50 // we don't want to save minimized state, only maximized or normal51 if (currWinMode === 'maximized' || currWinMode == 'fullscreen') {52 winState.mode = currWinMode;53 } else {54 winState.mode = 'normal';55 }56 // when window is maximized you want to preserve normal57 // window dimensions to restore them later (even between sessions)58 if (currWinMode === 'normal') {59 winState.x = win.x;60 winState.y = win.y;61 winState.width = win.width;62 winState.height = win.height;63 // save delta only of it is not zero64 if (deltaHeight !== 0 && currWinMode !== 'maximized' && currWinMode !== 'fullscreen') {65 winState.deltaHeight = deltaHeight;66 }67 }68}69function restoreWindowState() {70 // deltaHeight already saved, so just restore it and adjust window height71 if (typeof winState.deltaHeight !== 'undefined') {72 deltaHeight = winState.deltaHeight73 winState.height = winState.height - deltaHeight74 }75 win.resizeTo(winState.width, winState.height);76 win.moveTo(winState.x, winState.y);77}78function saveWindowState() {79 dumpWindowState();80 localStorage.setItem('windowState', JSON.stringify(winState));81}82initWindowState();83win.on('maximize', function () {84 isMaximizationEvent = true;85 currWinMode = 'maximized';86});87win.on('unmaximize', function () {88 currWinMode = 'normal';89 restoreWindowState();90});91win.on('enter-fullscreen', function () {92 isMaximizationEvent = true;93 currWinMode = 'fullscreen';94});95win.on('leave-fullscreen', function () {96 currWinMode = 'normal';97 restoreWindowState();98});99win.on('minimize', function () {100 currWinMode = 'minimized';101});102win.on('restore', function () {103 currWinMode = 'normal';104});105$(window).on('resize', $.debounce(500, function () {106 // on MacOS you can resize maximized window, so it's no longer maximized107 if (isMaximizationEvent) {108 // first resize after maximization event should be ignored109 isMaximizationEvent = false;110 } else {111 if (currWinMode === 'maximized' || currWinMode === 'fullscreen') {...

Full Screen

Full Screen

window.js

Source:window.js Github

copy

Full Screen

...61 }62 get win() {63 return this._win;64 }65 restoreWindowState(state) {66 // TODO: @pikun67 return exports.defaultWindowState();68 }69 createBrowserWindow(config) {70 this.windowState = this.restoreWindowState(config.state);71 const options = {72 width: this.windowState.width,73 height: this.windowState.height,74 backgroundColor: "#ffffff",75 minWidth: TWindow.MIN_WIDTH,76 minHeight: TWindow.MIN_HEIGHT,77 show: true,78 title: 'electron',79 webPreferences: {80 // By default if Code is in the background, intervals and timeouts get throttled, so we81 // want to enforce that Code stays in the foreground. This triggers a disable_hidden_82 // flag that Electron provides via patch:83 // https://github.com/electron/libchromiumcontent/blob/master/patches/common/chromium/disable_hidden.patch84 backgroundThrottling: false,...

Full Screen

Full Screen

win_state.min.js

Source:win_state.min.js Github

copy

Full Screen

1var winState, currWinMode, resizeTimeout, isMaximizationEvent = !1, deltaHeight = gui.App.manifest.window.frame ? 0 : "disabled";2function initWindowState() {3 ("function" != typeof win.isDevToolsOpen || win.isDevToolsOpen()) && void 0 !== win.isDevToolsOpen || ((winState = JSON.parse(localStorage.windowState || "null")) ? (currWinMode = winState.mode, 4 restoreWindowState(), "maximized" === currWinMode && ("darwin" === process.platform ? win.enterFullscreen() : win.maximize())) : (currWinMode = "normal", 5 win.setPosition("center")));6}7function dumpWindowState() {8 (winState = winState || {}).mode = "maximized" === currWinMode ? "maximized" : "normal", 9 "normal" === currWinMode && (winState.x = win.x, winState.y = win.y, winState.width = win.width, 10 winState.height = win.height, "disabled" !== deltaHeight && 0 !== deltaHeight && "maximized" !== currWinMode && (winState.deltaHeight = deltaHeight));11}12function restoreWindowState() {13 "disabled" !== deltaHeight && void 0 !== winState.deltaHeight && (deltaHeight = winState.deltaHeight, 14 winState.height = winState.height - deltaHeight), gui.Screen.Init();15 for (var screens = gui.Screen.screens, locationIsOnAScreen = !1, i = 0; i < screens.length; i++) {16 var screen = screens[i];17 winState.x > screen.bounds.x && winState.x < screen.bounds.x + screen.bounds.width && winState.y > screen.bounds.y && winState.y < screen.bounds.y + screen.bounds.height && (console.debug("Location of window (" + winState.x + "," + winState.y + ") is on screen " + JSON.stringify(screen)), 18 locationIsOnAScreen = !0);19 }20 locationIsOnAScreen ? (win.resizeTo(winState.width, winState.height), win.moveTo(winState.x, winState.y)) : (console.debug("Last saved position of windows is not usable on current monitor setup. Moving window to center!"), 21 win.setPosition("center"));22}23function saveWindowState() {24 dumpWindowState(), localStorage.windowState = JSON.stringify(winState);25}26initWindowState(), win.on("maximize", function() {...

Full Screen

Full Screen

openFinResize.service.js

Source:openFinResize.service.js Github

copy

Full Screen

...25 fin.desktop.main(function() {26 finWindow = fin.desktop.Window.getCurrent();27 turnOnResizeListener();28 if (document.readyState === "complete") {29 restoreWindowState();30 } else {31 document.addEventListener("readystatechange", function() {32 document.readyState === "complete" && restoreWindowState();33 });34 }35 });36 };37 /**38 * Switches application to compact mode39 */40 this.switchToCompactMode = function () {41 if (finWindow) {42 finWindow.restore();43 finWindow.resizeTo(400, 775, "bottom-right");44 }45 };46 /**47 * Maximizes the window48 */49 this.maximize = function () {50 finWindow && finWindow.maximize();51 };52 /**53 * Checks if the window is maximized54 * @return Promise55 */56 function isMaximized() {57 return $q(function (resolve) {58 // this method is called when OpenFin is certainly initialized so self.finWindow exists and59 // additional checks are not required60 finWindow.getState(function (state) {61 resolve(state === 'maximized');62 });63 });64 }65 /**66 * Restores window maximized state if it needs67 */68 function restoreWindowState() {69 if ($localStorage.isFinWindowMaximized) {70 isMaximized().then(function (isMaximized) {71 !isMaximized && self.maximize();72 });73 }74 }75 /**76 * Adds window resize handler to remember maximized flag in local storage77 */78 function turnOnResizeListener() {79 // Openfin doesn't remember maximized window state,80 // e.g. when user switched from compact to fullscreen mode81 $window.addEventListener('resize', function () {82 isMaximized().then(function (isMaximized) {...

Full Screen

Full Screen

index-test.js

Source:index-test.js Github

copy

Full Screen

...9 await saveWindowState(t);10 await t.maximizeWindow();11 })12 .after(async t => {13 await restoreWindowState(t);14 })15 ("Shouldn't scroll to target parent while performing click", async t => {16 const oldWindowScrollValue = await getWindowScrollTop();17 await t.click('#child');18 const newWindowScrollValue = await getWindowScrollTop();19 expect(newWindowScrollValue).eql(oldWindowScrollValue);...

Full Screen

Full Screen

remember-window-state.js

Source:remember-window-state.js Github

copy

Full Screen

1function rememberVisibilityState(payload) {2 // store state in localStorage3 sessionStorage.setItem('twc_last_state', payload.visibility);4}5function restoreWindowState() {6 // get window state from localStorage7 const lastState = sessionStorage.getItem('twc_last_state');8 // by default keep window minimized9 if (lastState === 'maximized') {10 TeneoWebChat.call('maximize');11 } else {12 TeneoWebChat.call('minimized');13 } 14}15TeneoWebChat.on('visibility_changed', rememberVisibilityState);...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1import { restoreWindowState, saveWindowState } from 'testcafe-browser-tools';2 .beforeEach(async t => {3 await saveWindowState(t);4 })5 .afterEach(async t => {6 await restoreWindowState(t);7 });8test('My test', async t => {9});10saveWindowState( t ) → Promise11restoreWindowState( t ) → Promise

Full Screen

Using AI Code Generation

copy

Full Screen

1import { restoreWindowState, saveWindowState } from 'testcafe-browser-tools';2 .beforeEach(async () => {3 await saveWindowState();4 })5 .afterEach(async () => {6 await restoreWindowState();7 });8test('My Test', async t => {9});

Full Screen

Using AI Code Generation

copy

Full Screen

1import { restoreWindowState, saveWindowState } from "testcafe-browser-tools";2 .beforeEach(async t => {3 await saveWindowState(t);4 })5 .afterEach(async t => {6 await restoreWindowState(t);7 });8test('My test', async t => {9});10TestCafe Browser Tools is released under the [MIT](

Full Screen

Using AI Code Generation

copy

Full Screen

1import { Selector } from 'testcafe';2test('Restore Window State', async t => {3 .maximizeWindow()4 .click('#tried-test-cafe')5 .click('#populate')6 .click('#submit-button')7 .takeScreenshot()8 .resizeWindow(200, 200)9 .takeScreenshot()10 .resizeWindow(600, 600)11 .takeScreenshot()12 .resizeWindow(1000, 1000)13 .takeScreenshot()14 .maximizeWindow()15 .takeScreenshot()

Full Screen

Using AI Code Generation

copy

Full Screen

1import { restoreWindowState, saveWindowState } from 'testcafe-browser-tools';2 .beforeEach(async t => {3 await saveWindowState(t);4 })5 .afterEach(async t => {6 await restoreWindowState(t);7 });8test('Restore Window State', async t => {9 .resizeWindow(1000, 500)10 .click('#btn')11 .expect(Selector('#btn').visible).ok();12});13saveWindowState( t ) → Promise14restoreWindowState( t ) → Promise15* Microsoft Edge (legacy and Chromium-based)

Full Screen

Using AI Code Generation

copy

Full Screen

1import { ClientFunction } from 'testcafe';2test('Restore Window State Test', async t => {3 .resizeWindow(1000, 800)4 .typeText('#developer-name', 'Testcafe')5 .click('#windows')6 .click('#submit-button');7 const getWindowLocation = ClientFunction(() => ({8 }));9 const windowLocation = await getWindowLocation();10 await t.expect(windowLocation.width).eql(1000);11 await t.expect(windowLocation.height).eql(800);12});13#### ClientFunction(fn [, options])14#### ClientFunction.with(options)15#### ClientFunction(fn [, options]).with(options)

Full Screen

Using AI Code Generation

copy

Full Screen

1import { ClientFunction } from 'testcafe';2const getWindowState = ClientFunction(() => window.testCafeDriver.get().getCurrentWindow().getState());3const restoreWindowState = ClientFunction(() => window.testCafeDriver.get().getCurrentWindow().restore());4test('Test', async t => {5 .click('#myButton')6 .expect(getWindowState()).eql('maximized')7 .click('#myButton')8 .expect(getWindowState()).eql('normal')9 .click('#myButton')10 .expect(getWindowState()).eql('minimized')11 .click('#myButton')12 .expect(getWindowState()).eql('normal');13});

Full Screen

Using AI Code Generation

copy

Full Screen

1import { restoreWindowState, saveWindowState } from 'testcafe-browser-tools';2test('test', async t => {3 await saveWindowState(t);4 await t.click('#some-element');5 await restoreWindowState(t);6});7saveWindowState( t )8import { saveWindowState } from 'testcafe-browser-tools';9test('test', async t => {10 await saveWindowState(t);11});12restoreWindowState( t )13import { restoreWindowState } from 'testcafe-browser-tools';14test('test', async t => {15 await restoreWindowState(t);16});17maximizeWindow( t )18import { maximizeWindow } from 'testcafe-browser-tools';19test('test', async t => {20 await maximizeWindow(t);21});22resizeWindow( t, width, height )23import { resizeWindow } from 'testcafe-browser-tools';24test('test', async t => {

Full Screen

Using AI Code Generation

copy

Full Screen

1test('My test', async t => {2});3### setWindowSize(width, height, currentWindow)4### maximizeWindow(currentWindow)5### resizeWindowToFitDevice(deviceName, currentWindow)6### close(currentWindow)7### takeScreenshot(path, currentWindow)8### getActiveWindow()9### getWindows()10### getWindowTitle(currentWindow)11### getActiveWindowId()12### getWindowTitle(currentWindow)

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Testcafe automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful