How to use window.getSize method in Appium Xcuitest Driver

Best JavaScript code snippet using appium-xcuitest-driver

cerabox.js

Source:cerabox.js Github

copy

Full Screen

...721			'width':width,722			'height':height,723			'opacity':1724		};725		if (window.getSize().x > this.vars.cerabox.getSize().x+40 && window.getSize().x > width+40) {726			this.vars.cerabox.setStyles({727				'left':((window.getSize().x/2)) + 'px',728				'right':'auto'729			});730			morphObject['margin-left'] = ((-width/2)+document.id(document.body).getScroll().x) + 'px';731		}732		else {733			this.vars.cerabox.setStyles({734				'margin-left':'0',735				'left':'auto',736				'right':'20px'737			});738		}739		if (window.getSize().y > this.vars.cerabox.getSize().y+40 && window.getSize().y > height+40) {740			this.vars.cerabox.setStyles({741				'top':((window.getSize().y/2)) + 'px'742			});743			morphObject['margin-top'] = ((-height/2)+document.id(document.body).getScroll().y) + 'px';744		}745		else {746			if (height+40 > (document.id(document.body).getScrollSize().y-document.id(document.body).getScroll().y)) {747				this.vars.cerabox.setStyles({748					'margin-top':'0',749					'top':(document.id(document.body).getScrollSize().y-(height+60)>20?document.id(document.body).getScrollSize().y-(height+60):20) + 'px'750				});751			}752			else {753				this.vars.cerabox.setStyles({754					'margin-top':'0',755					'top':document.id(document.body).getScroll().y + 20 + 'px'756				});757			}758		}759		return this.vars.cerabox.set('morph', {duration: 150})760			.morph(morphObject).get('morph');761	},762	763	/**764	 * Initialize show function765	 */766	_showInit: function() {767		//if (this.vars.busy)768			//return;769		770		// Make sure it doesnt time out when started a new request and prev loader is gone771		clearInterval(this.timeOuter);772		clearInterval(this.loaderTimer);773		document.id('cerabox-loading').setStyle('display', 'none');774	},775	776	/**777	 * Open cerabox window778	 * 779	 * @param int width780	 * @param int height781	 * @param string[optional] animation 'ease'|'fade'782	 * @param array[optional] index item783	 */784	_openWindow: function(width, height, animation, index) {785		if (this.vars.cerabox.getElement('.cerabox-content iframe'))786			this.vars.cerabox.getElement('.cerabox-content iframe').setStyles({'width':width,'height':height});787		788		this.vars.currentIndex = index = index ? index : this.vars.currentIndex;789		var currentItem = this.vars.items[index[0]][index[1]];790		var ceraBox = this;791		if (this.vars.windowOpen==true) {792			this.vars.cerabox.getElement('.cerabox-content')793				.set('opacity',0)794				.set('tween', {duration: 200}).tween('opacity','1')795				.get('tween')796				.addEvent('complete', function(){797					this.removeEvents('complete');798					ceraBox.vars.busy = false;799					ceraBox._addNavButtons(index);800					// onChange event801					if (null!==ceraBox.options.events._onChange)802						ceraBox.options.events._onChange.call(ceraBox, currentItem, ceraBox.vars.items[index[0]]);803					else804						ceraBox.options.events.onChange.call(ceraBox, currentItem, ceraBox.vars.items[index[0]]);805				});806			return;807		}808		809		this.vars.cerabox.getElement('.cerabox-content').set('opacity','1');810		// onOpen event811		if (null!==this.options.events._onOpen)812			this.options.events._onOpen.call(this, currentItem, this.vars.items[index[0]]);813		else814			this.options.events.onOpen.call(this, currentItem, this.vars.items[index[0]]);815		// Holds the position to morph to816		var morphObject = {};817		if (window.getSize().x > width+40) {818			Object.append(morphObject, {819				'margin-left':(width>0?((-width/2)+document.id(document.body).getScroll().x):0) + 'px',820				'left':((window.getSize().x/2)) + 'px',821				'right':'auto'822			});823		}824		else {825			Object.append(morphObject, {826				'margin-left':'0',827				'left':((window.getSize().x - (width+20))+document.id(document.body).getScroll().x) + 'px',828				'right':'20px'829			});830		}831		if (window.getSize().y > height+40) {832			Object.append(morphObject, {833				'margin-top':(height>0?((-height/2)+document.id(document.body).getScroll().y):0) + 'px',834				'top':((window.getSize().y/2)) + 'px',835				'bottom':'auto'836			});837		}838		else {839			if (height+40 > (document.id(document.body).getScrollSize().y-document.id(document.body).getScroll().y)) {840				Object.append(morphObject, {841					'margin-top':'0',842					'top':(document.id(document.body).getScrollSize().y-(height+60)>20?document.id(document.body).getScrollSize().y-(height+60):20) + 'px'843				});844			}845			else {846				Object.append(morphObject, {847					'margin-top':'0',848					'top':document.id(document.body).getScroll().y + 20 + 'px'849				});850			}851		}852		switch (animation) {853		case 'ease':854			Object.append(morphObject, {855				'width':width,856				'height':height,857				'opacity':'1'858			});859			this.vars.cerabox.setStyles({860				'display':'block',861				'left':currentItem.getPosition().x + 'px',862				'top':currentItem.getPosition().y + 'px',863				'width':currentItem.getSize().x + 'px',864				'height':currentItem.getSize().y + 'px',865				'margin':0,866				'opacity':0867			}).set('morph', {duration: 200}).morph(morphObject).get('morph')868				.addEvent('complete', function(){869					this.removeEvents('complete');870					ceraBox.vars.busy = false;871					ceraBox._addNavButtons(index);872					// onChange event873					if (null!==ceraBox.options.events._onAnimationEnd)874						ceraBox.options.events._onAnimationEnd.call(ceraBox, currentItem, ceraBox.vars.items[index[0]]);875					else876						ceraBox.options.events.onAnimationEnd.call(ceraBox, currentItem, ceraBox.vars.items[index[0]]);877				});878			break;879		case 'fade':880		default:881			Object.append(morphObject, {882				'display':'block',883				'width':width,884				'height':height,885				'opacity':0886			});887			this.vars.cerabox.setStyles(morphObject).set('tween', {duration: 200}).tween('opacity', '1')888				.get('tween')889				.addEvent('complete', function(){890					this.removeEvents('complete');891					ceraBox.vars.busy = false;892					ceraBox._addNavButtons(index);893					// onChange event894					if (null!==ceraBox.options.events._onAnimationEnd)895						ceraBox.options.events._onAnimationEnd.call(ceraBox, currentItem, ceraBox.vars.items[index[0]]);896					else897						ceraBox.options.events.onAnimationEnd.call(ceraBox, currentItem, ceraBox.vars.items[index[0]]);898				});899			break;900		}901		currentItem.blur();902		this.vars.windowOpen = true;903	},904	905	/**906	 * Display transparen overlay907	 */908	_displayOverlay: function() {909		document.id('cerabox-background').setStyles({'display':'block','opacity':'.5','height':document.id(document.body).getScrollSize().y + 'px','width':document.id(document.body).getScrollSize().x + 'px'});910	},911	912	/**913	 * Display loading spinner914	 */915	_displayLoader: function(loaderAtItem, currentItem) {916		// loaderAtItem917		if (true===loaderAtItem && !this.vars.windowOpen)918			document.id('cerabox-loading').setStyles({919				'position': 'absolute',920				'top': (((currentItem.getSize().y/2) - (document.id('cerabox-loading').getStyle('height').toInt()/2)) + currentItem.getPosition().y) + 'px',921				'left': (((currentItem.getSize().x/2) - (document.id('cerabox-loading').getStyle('width').toInt()/2)) + currentItem.getPosition().x) + 'px',922				'margin-left': 0,923				'margin-top': 0924			});925		else926			document.id('cerabox-loading').set('style','');927		document.id('cerabox-loading').setStyle('display','block');928		this._loaderAnimation();929	},930	931	/**932	 * Loader animation933	 * 934	 * @param int frame935	 */936	_loaderAnimation: function(frame) {937		if (!frame)938			frame=0;939		document.id('cerabox-loading').getElement('div').setStyle('top', (frame * -40) + 'px');940		frame = (frame + 1) % 12;941		942		if (document.id('cerabox-loading').getStyle('display')!='none')943			this._loaderAnimation.delay(60, this, frame);944	},945	946	/**947	 * Get size element object948	 * 949	 * @param object element950	 * @return object951	 */952	_getSizeElement: function(element, fullSize) {953		var eleWidth = 0, eleHeight = 0;954		955		if (element.tagName == 'IFRAME') {956			try {957				eleWidth = (element.get('width')?this._sizeStringToInt(element.get('width'),'x'):(element.getStyle('width').toInt()>1?this._sizeStringToInt(element.getStyle('width'),'x'):958					(element.contentWindow.document.getScrollWidth()?element.contentWindow.document.getScrollWidth():window.getSize().x * 0.75)));959			}960			catch(err) {961				eleWidth = window.getSize().x * 0.75;962				this._log(err); // IE6 fix963			}964			965			try {966				eleHeight = (element.get('height')?this._sizeStringToInt(element.get('height'),'y'):(element.getStyle('height').toInt()>1?this._sizeStringToInt(element.getStyle('height'),'y'):967					(element.contentWindow.document.getScrollHeight()?element.contentWindow.document.getScrollHeight():window.getSize().y * 0.75)));968			}969			catch(err) {970				eleHeight = window.getSize().y * 0.75;971				this._log(err); // IE6 fix972			}973			974			if (Browser.ie) {975				eleHeight = eleHeight + 20;976			}977			978			if (false===fullSize) {	979				if ((window.getSize().y - 100)<eleHeight) {980					eleWidth = eleWidth + (Browser.Platform.mac?15:17);981				}982				return {width: (window.getSize().x - 50)<eleWidth?(window.getSize().x - 50):eleWidth, height: (window.getSize().y - 100)<eleHeight?(window.getSize().y - 100):eleHeight};983			} else984				return {width: eleWidth, height: eleHeight};	985		}986		987		eleWidth = (element.get('width')?this._sizeStringToInt(element.get('width'),'x'):(element.getStyle('width')&&element.getStyle('width')!='auto'?this._sizeStringToInt(element.getStyle('width'),'x'):window.getSize().x - 50));988		eleHeight = (element.get('height')?this._sizeStringToInt(element.get('height'),'y'):(element.getStyle('height')&&element.getStyle('height')!='auto'?this._sizeStringToInt(element.getStyle('height'),'y'):window.getSize().y - 100));989		990		if (false===fullSize) {991			var r = Math.min(Math.min(window.getSize().x - 50, eleWidth) / eleWidth, Math.min(window.getSize().y - 100, eleHeight) / eleHeight);992			return {width: Math.round(r * eleWidth), height: Math.round(r * eleHeight)};993		}994		else995			return {width: eleWidth, height: eleHeight};996	},997	998	/**999	 * Get the pixels of given element size1000	 * 1001	 * @param string size1002	 * @param string dimension 'x'|'y'1003	 */1004	_sizeStringToInt: function(size, dimension) {1005		return (typeof size == 'string' && size.test('%')?window.getSize()[dimension]*(size.toInt()/100):size.toInt());1006	},1007	1008	/**1009	 * Resizing window1010	 */1011	_resize: function() {1012		if(this.vars.windowOpen==true) {1013			document.id('cerabox-background').setStyles({'height':window.getSize().y + 'px','width':window.getSize().x + 'px'});1014			if (window.getSize().x > this.vars.cerabox.getSize().x+40) {1015				this.vars.cerabox.setStyles({1016					'margin-left':(this.vars.cerabox.getSize().x>0?((-this.vars.cerabox.getSize().x/2)+document.id(document.body).getScroll().x):0) + 'px',1017					'left':((window.getSize().x/2)) + 'px',1018					'right':'auto'1019				});1020			}1021			else {1022				this.vars.cerabox.setStyles({1023					'margin-left':'0',1024					'left':'auto',1025					'right':'20px'1026				});1027			}1028			if (window.getSize().y > this.vars.cerabox.getSize().y+40) {1029				this.vars.cerabox.setStyles({1030					'margin-top':(this.vars.cerabox.getSize().y>0?((-this.vars.cerabox.getSize().y/2)+document.id(document.body).getScroll().y):0) + 'px',1031					'top':((window.getSize().y/2)) + 'px',1032					'bottom':'auto'1033				});1034			}1035			else {1036				if (this.vars.cerabox.getSize().y+40 > (document.id(document.body).getScrollSize().y-document.id(document.body).getScroll().y)) {1037					this.vars.cerabox.setStyles({1038						'margin-top':'0',1039						'top':(document.id(document.body).getScrollSize().y-(this.vars.cerabox.getSize().y+60)>20?document.id(document.body).getScrollSize().y-(this.vars.cerabox.getSize().y+60):20) + 'px'1040					});1041				}1042				else {1043					this.vars.cerabox.setStyles({1044						'margin-top':'0',1045						'top':document.id(document.body).getScroll().y + 20 + 'px'...

Full Screen

Full Screen

demo-virtual-desktop-init.js

Source:demo-virtual-desktop-init.js Github

copy

Full Screen

...6            id:"admin_navigation_window",7            loadMethod: 'fullajax',8            contentURL: link.get("href"),9            title:link.get("html"),10            width: window.getSize().x*0.7,11            height: window.getSize().y*0.712        });13    }14    if ($('admin_navigation_link')){15        $('admin_navigation_link').addEvent('click', function(e){16            new Event(e).stop();17            MochaUI.navigationWindow($('admin_navigation_link'));18        });19    }2021    MochaUI.templatesWindow=function(link){22        new MochaUI.Window({23            id:"admin_templates_window",24            loadMethod: 'fullajax',25            contentURL: link.get("href"),26            title:link.get("html"),27            width: window.getSize().x*0.7,28            height: window.getSize().y*0.729        });30    }31    if ($('admin_templates_link')){32        $('admin_templates_link').addEvent('click', function(e){33            new Event(e).stop();34            MochaUI.templatesWindow($('admin_templates_link'));35        });36    }3738    MochaUI.pagepartsWindow=function(link){39        new MochaUI.Window({40            id:"admin_pageparts_window",41            loadMethod: 'fullajax',42            contentURL: link.get("href"),43            title:link.get("html"),44            width: window.getSize().x*0.7,45            height: window.getSize().y*0.746        });47    }48    if ($('admin_pageparts_link')){49        $('admin_pageparts_link').addEvent('click', function(e){50            new Event(e).stop();51            MochaUI.pagepartsWindow($('admin_pageparts_link'));52        });53    }5455    MochaUI.htmlWindow=function(link){56        new MochaUI.Window({57            id:"admin_html_window",58            loadMethod: 'fullajax',59            contentURL: link.get("href"),60            title:link.get("html"),61            width: window.getSize().x*0.7,62            height: window.getSize().y*0.763        });64    }65    if ($('admin_html_link')){66        $('admin_html_link').addEvent('click', function(e){67            new Event(e).stop();68            MochaUI.htmlWindow($('admin_html_link'));69        });70    }7172    MochaUI.newsWindow=function(link){73        new MochaUI.Window({74            id:"admin_news_window",75            loadMethod: 'fullajax',76            contentURL: link.get("href"),77            title:link.get("html"),78            width: window.getSize().x*0.7,79            height: window.getSize().y*0.780        });81    }82    if ($('admin_news_link')){83        $('admin_news_link').addEvent('click', function(e){84            new Event(e).stop();85            MochaUI.newsWindow($('admin_news_link'));86        });87    }8889    MochaUI.htmlrotateWindow=function(link){90        new MochaUI.Window({91            id:"admin_htmlrotate_window",92            loadMethod: 'fullajax',93            contentURL: link.get("href"),94            title:link.get("html"),95            width: window.getSize().x*0.7,96            height: window.getSize().y*0.797        });98    }99    if ($('admin_htmlrotate_link')){100        $('admin_htmlrotate_link').addEvent('click', function(e){101            new Event(e).stop();102            MochaUI.htmlrotateWindow($('admin_htmlrotate_link'));103        });104    }105106    //orders107    MochaUI.ordersWindow=function(link){108        new MochaUI.Window({109            id:"admin_orders_window",110            loadMethod: 'fullajax',111            contentURL: link.get("href"),112            title:link.get("html"),113            width: window.getSize().x*0.7,114            height: window.getSize().y*0.7115        });116    }117    if ($('admin_orders_link')){118        $('admin_orders_link').addEvent('click', function(e){119            new Event(e).stop();120            MochaUI.ordersWindow($('admin_orders_link'));121        });122    }123}124125FCK_fix=function(){126    if (FCKeditorAPI){127        for (fckeditorName in FCKeditorAPI.__Instances){128            var _fck_nst=FCKeditorAPI.GetInstance(fckeditorName);
...

Full Screen

Full Screen

sketchalert.js

Source:sketchalert.js Github

copy

Full Screen

...104		}105		this.mask.show();106		this.mask.position();107		var alert_bg = new Element("div",{'class':'alert-mask'});108		$(this.mask).setStyles({width:window.getSize().x,top:0,left:0,height:window.getSize().y,"position":"fixed",'z-index':99999});109		$(alert_bg).inject($(this.mask));110		$(alert_bg).setStyles({width:window.getSize().x,top:0,left:0,height:window.getSize().y,'opacity':0.6});111		$(this.elm).inject($(this.mask));112		if($(this.elm).getElement(".alert-close")){113			$(this.elm).getElement(".alert-close").addEvent("click",this.hide.bind(this));114		}115		this.canHide  = false;116		if(this.options.isLoading==true){117			$(this.elm).setStyles({'visibility':'visible','top':50,'left':($(window).getSize().x/2) - ($(this.elm).getSize().x/2)});118			$(this.elm).morph({opacity:1,"margin-top":[-50,0]});119		}else{120			$(this.elm).setStyles({'visibility':'visible','top':50,'left':($(window).getSize().x/2) - ($(this.elm).getSize().x/2)});121			$(this.elm).morph({opacity:1,"margin-top":[-50,0]});122		}123		this.timer = this.hide.bind(this).delay(this.options.timed);124	}...

Full Screen

Full Screen

preload.js

Source:preload.js Github

copy

Full Screen

1global.layarequire = require;2global.require = null;3delete global.require;4var electron = require("electron");5const remote = electron.remote;6const Menu = remote.Menu;7const MenuItem = remote.MenuItem;8const ipcRenderer = electron.ipcRenderer;9var fs = require("fs");10var path = require("path");11global.layaideconfig = null;12var debugconfigdata;13try {14	var data = localStorage.getItem("debugconfigdata");15	if (data) {16		debugconfigdata = JSON.parse(data);17	} else {18		debugconfigdata = {19			"width": 320,20			"height": 480,21			"direction": 022		};23	}24} catch (e) {25	// statements26	debugconfigdata = {27		"width": 320,28		"height": 480,29		"direction": 030	};31}32document.addEventListener("keydown", function(oEvent) {33	if (oEvent.code == "F5") {34		remote.getCurrentWindow().reload();35	} else if (oEvent.code == "F12") {36		remote.getCurrentWindow().openDevTools();37	}38})39window.addEventListener("resize", function(e) {40	/* body... */41	try {42		// statements43		debugconfigdata.width = remote.getCurrentWindow().getSize()[0];44		debugconfigdata.height = remote.getCurrentWindow().getSize()[1];45		localStorage.setItem("debugconfigdata", JSON.stringify(debugconfigdata));46	} catch (e) {47		// statements48	}49})50window.addEventListener("error", function(event) {51		console.error(event.error.stack);52})53	// process.noAsar = true;54initMenu();55function initMenu() {56	remote.getCurrentWindow().setSize(debugconfigdata.width, debugconfigdata.height);57	remote.getCurrentWindow().show()58	var template = [{59		label: '视图',60		submenu: [{61			label: '重新加载(F5)',62			click: function(item, focusedWindow) {63				remote.getCurrentWindow().reload();64			}65		}, {66			label: '打开开发者工具(F12)',67			accelerator: (function() {68				return 'F12';69			})(),70			click: function(item, focusedWindow) {71				ipcRenderer.sendSync("opendev", "opendev"); //同步消息的方式72				remote.getCurrentWindow().webContents.toggleDevTools();73				//remote.getCurrentWindow().emit("opendev");74			}75		}, ]76	}, {77		label: '分辨率',78		submenu: [{79			label: 'Apple iPhone4',80			checked: false,81			type: "radio",82			click: function() {83				update_debug_w_h(320, 480);84			}85		}, {86			label: 'Apple iPhone5',87			checked: false,88			type: "radio",89			click: function() {90				update_debug_w_h(320, 568);91			}92		}, {93			label: 'Apple iPhone6',94			checked: false,95			type: "radio",96			click: function() {97				update_debug_w_h(375, 627);98			}99		}, {100			label: 'Apple iPhone6 Plus',101			checked: false,102			type: "radio",103			click: function() {104				update_debug_w_h(414, 763);105			}106		}, {107			label: 'Apple iPad',108			checked: false,109			type: "radio",110			click: function() {111				update_debug_w_h(768, 1024);112			}113		}]114	}, {115		label: '屏幕方向',116		submenu: [{117			label: '横屏',118			checked: debugconfigdata.direction,119			type: "radio",120			click: function() {121				debugconfigdata.direction = 0;122				if (remote.getCurrentWindow().getSize()[0] > remote.getCurrentWindow().getSize()[1]) {123				} else {124					remote.getCurrentWindow().setSize(remote.getCurrentWindow().getSize()[1], remote.getCurrentWindow().getSize()[0])125						//update_debug_w_h(remote.getCurrentWindow().getSize()[1], remote.getCurrentWindow().getSize()[0]);126				}127				//update_debug_w_h(remote.getCurrentWindow().getSize()[0], remote.getCurrentWindow().getSize()[1]);128			}129		}, {130			label: '竖屏',131			checked: !debugconfigdata.direction,132			type: "radio",133			click: function() {134				debugconfigdata.direction = 1;135				if (remote.getCurrentWindow().getSize()[0] > remote.getCurrentWindow().getSize()[1]) {136					update_debug_w_h(remote.getCurrentWindow().getSize()[1], remote.getCurrentWindow().getSize()[0]);137				} else {138					//remote.getCurrentWindow().setSize(remote.getCurrentWindow().getSize()[1], remote.getCurrentWindow().getSize()[0])139				}140				//update_debug_w_h(remote.getCurrentWindow().getSize()[0], remote.getCurrentWindow().getSize()[1]);141			}142		}, ]143	}, {144		label: '帮助',145		role: 'help',146		submenu: [{147			label: '问答社区',148			click: function() {149				require('electron').shell.openExternal("http://ask.layabox.com/question")150			}151		}, ]152	}, ];153	var menu = Menu.buildFromTemplate(template);154	Menu.setApplicationMenu(menu);155}156function update_debug_w_h(w = 320, h = 560) {157	if (debugconfigdata.direction) {158		remote.getCurrentWindow().setSize(w, h);159	} else {160		remote.getCurrentWindow().setSize(h, w);161	}162	debugconfigdata.width = w;163	debugconfigdata.height = h;164	// body... ...

Full Screen

Full Screen

index.js

Source:index.js Github

copy

Full Screen

1const {app, BrowserWindow, Tray, process, Menu, globalShortcut, shell} = require('electron');2let mainWindow, tray;3app.on('ready', () => {4    const screen = require('electron').screen;5    mainWindow = new BrowserWindow({6        height: 480,7        width: 275,8        frame: false,9        resizable: false,10        transparent: true11    });12    mainWindow.loadURL('file://' + __dirname + '/index.html');13    // Hide window in taskbar14    mainWindow.setSkipTaskbar(true);15    mainWindow.setAlwaysOnTop(true);16    globalShortcut.register('CommandOrControl+`', () => {17        if (mainWindow.isVisible()) {18            mainWindow.hide();19        } else {20            mainWindow.show();21            var display = screen.getPrimaryDisplay();22            // Position at top-right23            mainWindow.setPosition(display.bounds.width - mainWindow.getSize()[0], 0);24            mainWindow.setAlwaysOnTop(true);25        }26    });27    tray = new Tray(__dirname + '/tray.png');28    tray.setToolTip('Twitch overlay activated. Press Ctrl + ` to show.');29    const trayContextMenu = Menu.buildFromTemplate([30        {label: `TwitchOverlay v${app.getVersion()}`, enabled: false},31        {type: "separator"},32        {label: "Website", click: () => {shell.openExternal('https://overlay.twitchbot.io')}},33        {label: "Source code", click: () => {shell.openExternal('https://github.com/devakira/twitchoverlay')}},34        {type: "separator"},35        {label: "Toggle Chat", click: () => {36            mainWindow.webContents.executeJavaScript(`renderer.toggleChat()`);37        }},38        {label: "Settings", click: () => {mainWindow.loadURL('file://' + __dirname + '/settings.html');}},39        {type: "separator"},40        {label: "Quit Application", role: "quit"}41    ]);42    tray.setContextMenu(trayContextMenu);43    const trayBounds = tray.getBounds();44    var display = screen.getPrimaryDisplay();45    // Position at top-right46    mainWindow.setPosition(display.bounds.width - mainWindow.getSize()[0], 0);47    tray.on('click', () => {48        mainWindow.show();49        var display = screen.getPrimaryDisplay();50        // Position at top-right51        mainWindow.setPosition(display.bounds.width - mainWindow.getSize()[0], 0);52        mainWindow.setAlwaysOnTop(true);53    });54    mainWindow.on('blur', () => {55        mainWindow.setAlwaysOnTop(true);56    });57    mainWindow.on('closed', () => {58        app.quit();59    });60    mainWindow.on('resize', () => {61        var display = screen.getPrimaryDisplay();62        // Position at top-right63        mainWindow.setPosition(display.bounds.width - mainWindow.getSize()[0], 0);64        mainWindow.setAlwaysOnTop(true);65    });66    mainWindow.on('enter-html-full-screen', () => {67        mainWindow.setPosition(0, 0);68    });69    mainWindow.on('leave-html-full-screen', () => {70        var display = screen.getPrimaryDisplay();71        // Position at top-right72        mainWindow.setPosition(display.bounds.width - mainWindow.getSize()[0], 0);73    });74    mainWindow.webContents.on('new-window', function(event, url){75      event.preventDefault();76      shell.openExternal(url);77    });78});79app.on("window-all-closed", () => {80    if (process.platform !== "darwin") {81        app.quit();82    }...

Full Screen

Full Screen

manager.js

Source:manager.js Github

copy

Full Screen

1/**2 * External dependencies3 */4import chai from 'chai';5import chaiAsPromised from 'chai-as-promised';6import { By, WebDriver } from 'selenium-webdriver';7import test from 'selenium-webdriver/testing';8/**9 * Internal dependencies10 */11import { WebDriverHelper as helper } from '../src/index';12chai.use( chaiAsPromised );13const assert = chai.assert;14const expect = chai.expect;15const mochaTimeout = 30000;16let manager;17let driver;18test.describe( 'WebDriverManager', function() {19	this.timeout( mochaTimeout );20	// Set baseUrl and try getPageUrl21	test.before( function() {22		manager = global.__MANAGER__;23		driver = global.__DRIVER__;24		manager.config.baseUrl = 'https://wp-e2e-test-form-page.herokuapp.com';25		driver.get( manager.getPageUrl( '/page-path/' ) );26		helper.waitTillPresentAndDisplayed(27			driver,28			By.css( 'body' )29		);30	} );31	test.it( 'creates instance of WebDriver', () => {32		assert( driver instanceof WebDriver );33	} );34	test.it( 'has https://wp-e2e-test-form-page.herokuapp.com/ as the default base URL', () => {35		assert( 'https://wp-e2e-test-form-page.herokuapp.com' === manager.getBaseUrl() );36	} );37	test.it( 'can returns full url via manager.getPageUrl', () => {38		assert( 'https://wp-e2e-test-form-page.herokuapp.com/page-path/', manager.getPageUrl( '/page-path/' ) );39	} );40	test.it( 'has desktop as default screen size config', () => {41		assert( 'desktop' === manager.getConfigScreenSize() );42	} );43	test.it( 'uses desktop screen size by default', () => {44		return expect( driver.manage().window().getSize() ).45			to.eventually.deep.equal( manager.getScreenSizeAsObject( 'desktop' ) );46	} );47	test.describe( 'Resize browser by device type', () => {48		test.it( 'can resize browser to mobile size', () => {49			manager.resizeBrowser( 'mobile' );50			return expect( driver.manage().window().getSize() ).51				to.eventually.deep.equal( manager.getScreenSizeAsObject( 'mobile' ) );52		} );53		test.it( 'can resize browser to tablet size', () => {54			manager.resizeBrowser( 'tablet' );55			return expect( driver.manage().window().getSize() ).56				to.eventually.deep.equal( manager.getScreenSizeAsObject( 'tablet' ) );57		} );58		test.it( 'can resize browser to desktop size', () => {59			manager.resizeBrowser( 'desktop' );60			return expect( driver.manage().window().getSize() ).61				to.eventually.deep.equal( manager.getScreenSizeAsObject( 'desktop' ) );62		} );63		test.it( 'can resize browser to laptop size', () => {64			manager.resizeBrowser( 'laptop' );65			return expect( driver.manage().window().getSize() ).66				to.eventually.deep.equal( manager.getScreenSizeAsObject( 'laptop' ) );67		} );68	} );69	test.it( 'just visited https://wp-e2e-test-form-page.herokuapp.com/page-path/', () => {70		return assert.eventually.equal(71			driver.getCurrentUrl(),72			'https://wp-e2e-test-form-page.herokuapp.com/page-path/'73		);74	} );...

Full Screen

Full Screen

main.js

Source:main.js Github

copy

Full Screen

1const electron = require('electron')2    // Module to control application life.3const {4    app,5    globalShortcut6} = require('electron')7// Module to create native browser window.8const BrowserWindow = electron.BrowserWindow9// Keep a global reference of the window object, if you don't, the window will10// be closed automatically when the JavaScript object is garbage collected.11let mainWindow12function createWindow() {13    // Create the browser window.14    //BrowserWindow.addDevToolsExtension('./ext/uBlock0.chromium');15    mainWindow = new BrowserWindow({16        width: 1097,17        height: 550,18        frame: false,19        title: "SoundCloudGo",20        menu: null,21        icon: __dirname + '/images/old.png',22        webPreferences: {23            plugins: true,24            webSecurity: false,25            allowDisplayingInsecureContent: true,26            experimentalFeatures: true27        }28    })29    // make thumbnail30    mainWindow.setThumbnailClip({ x: 0, y: mainWindow.getSize()[1] - 46, width: mainWindow.getSize()[0], height: 46 })31    //set progress32    //mainWindow.setProgressBar(0.5)33    // and load the index.html of the app.34    mainWindow.loadURL(`file://${__dirname}/index.html`)35    // Open the DevTools.36    mainWindow.webContents.openDevTools()37    // Emitted when the window is closed.38    mainWindow.on('closed', function() {39        // Dereference the window object, usually you would store windows40        // in an array if your app supports multi windows, this is the time41        // when you should delete the corresponding element.42        mainWindow = null43    })44    // emitted when the window is resized45    mainWindow.on("resize", function() {46        mainWindow.setThumbnailClip({ x: 0, y: mainWindow.getSize()[1] - 46, width: mainWindow.getSize()[0], height: 46 })47    })48}49// This method will be called when Electron has finished50// initialization and is ready to create browser windows.51// Some APIs can only be used after this event occurs.52app.on('ready', createWindow)53// Quit when all windows are closed.54app.on('window-all-closed', function() {55    // On OS X it is common for applications and their menu bar56    // to stay active until the user quits explicitly with Cmd + Q57    if (process.platform !== 'darwin') {58        app.quit()59    }60})61app.on('activate', function() {62    // On OS X it's common to re-create a window in the app when the63    // dock icon is clicked and there are no other windows open.64    if (mainWindow === null) {65        createWindow()66    }67})68// In this file you can include the rest of your app's specific main process...

Full Screen

Full Screen

cell.js

Source:cell.js Github

copy

Full Screen

1( function( window, factory ) {2  'use strict';3  // universal module definition4  if ( typeof define == 'function' && define.amd ) {5    // AMD6    define( [7      'get-size/get-size'8    ], function( getSize ) {9      return factory( window, getSize );10    });11  } else if ( typeof exports == 'object' ) {12    // CommonJS13    module.exports = factory(14      window,15      require('get-size')16    );17  } else {18    // browser global19    window.Flickity = window.Flickity || {};20    window.Flickity.Cell = factory(21      window,22      window.getSize23    );24  }25}( window, function factory( window, getSize ) {26'use strict';27function Cell( elem, parent ) {28  this.element = elem;29  this.parent = parent;30  this.create();31}32var isIE8 = 'attachEvent' in window;33Cell.prototype.create = function() {34  this.element.style.position = 'absolute';35  // IE8 prevent child from changing focus http://stackoverflow.com/a/17525223/18218336  if ( isIE8 ) {37    this.element.setAttribute( 'unselectable', 'on' );38  }39  this.x = 0;40  this.shift = 0;41};42Cell.prototype.destroy = function() {43  // reset style44  this.element.style.position = '';45  var side = this.parent.originSide;46  this.element.style[ side ] = '';47};48Cell.prototype.getSize = function() {49  this.size = getSize( this.element );50};51Cell.prototype.setPosition = function( x ) {52  this.x = x;53  this.setDefaultTarget();54  this.renderPosition( x );55};56Cell.prototype.setDefaultTarget = function() {57  var marginProperty = this.parent.originSide == 'left' ? 'marginLeft' : 'marginRight';58  this.target = this.x + this.size[ marginProperty ] +59    this.size.width * this.parent.cellAlign;60};61Cell.prototype.renderPosition = function( x ) {62  // render position of cell with in slider63  var side = this.parent.originSide;64  this.element.style[ side ] = this.parent.getPositionValue( x );65};66/**67 * @param {Integer} factor - 0, 1, or -168**/69Cell.prototype.wrapShift = function( shift ) {70  this.shift = shift;71  this.renderPosition( this.x + this.parent.slideableWidth * shift );72};73Cell.prototype.remove = function() {74  this.element.parentNode.removeChild( this.element );75};76return Cell;...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1var wd = require('wd');2var chai = require('chai');3var chaiAsPromised = require('chai-as-promised');4chai.use(chaiAsPromised);5var expect = chai.expect;6var should = chai.should();7var assert = chai.assert;8var desiredCaps = {9};10var driver = wd.promiseChainRemote('localhost', 4723);11driver.init(desiredCaps);12driver.getWindowSize().then(function (size) {13    console.log("Window size is " + size.width + " x " + size.height);14});15driver.quit();

Full Screen

Using AI Code Generation

copy

Full Screen

1const wdio = require('webdriverio');2const opts = {3  capabilities: {4  },5};6async function getSize() {7  const client = await wdio.remote(opts);8  const size = await client.getWindowSize();9  console.log(size);10}11getSize();12{ width: 375, height: 667 }

Full Screen

Using AI Code Generation

copy

Full Screen

1const wd = require('wd');2const chai = require('chai');3const chaiAsPromised = require('chai-as-promised');4const { exec } = require('child_process');5chai.use(chaiAsPromised);6chai.should();7const PORT = 4723;

Full Screen

Using AI Code Generation

copy

Full Screen

1const wdio = require("webdriverio");2const opts = {3  capabilities: {4  },5};6const client = wdio.remote(opts);7async function main() {8  await client.init();9  const windowSize = await client.getWindowSize();10  console.log(windowSize);11  await client.deleteSession();12}13main();14from appium import webdriver15desired_caps = {16}17window_size = driver.get_window_size()18print(window_size)19driver.quit()20from appium import webdriver21desired_caps = {22}23window_size = driver.get_window_size()24print(window_size)25driver.quit()26const wdio = require("webdriverio");27const opts = {28  capabilities: {29  },30};31const client = wdio.remote(opts);32async function main() {33  await client.init();34  const windowSize = await client.getWindowSize();35  console.log(windowSize);36  await client.deleteSession();37}38main();39import io.appium.java_client.AppiumDriver;40import io.appium.java_client.MobileElement;

Full Screen

Using AI Code Generation

copy

Full Screen

1var size = driver.getWindowSize();2console.log(size);3driver.setWindowSize(375, 667);4driver.maximizeWindow();5var position = driver.getWindowPosition();6console.log(position);7driver.setWindowPosition(0, 0);8driver.fullScreenWindow();9driver.closeWindow();10driver.switchToWindow('NATIVE_APP');11var handles = driver.getAllWindowHandles();12console.log(handles);13var handle = driver.getWindowHandle();14console.log(handle);15var orientation = driver.getOrientation();16console.log(orientation);17driver.setOrientation('LANDSCAPE');18var rotation = driver.getRotation();19console.log(rotation);20driver.setRotation(90);21var rect = driver.getWindowRect();22console.log(rect);23driver.setWindowRect(0, 0, 375, 667);24var rect = driver.getViewportRect();25console.log(rect);26var rect = driver.getWindowRect();27console.log(rect);28driver.setWindowRect(0, 0, 375, 667);

Full Screen

Using AI Code Generation

copy

Full Screen

1const wdio = require("webdriverio");2const assert = require("assert");3const opts = {4    capabilities: {5    }6};7async function main() {8    const client = await wdio.remote(opts);9    const windowSize = await client.getWindowSize();10    console.log(windowSize);11    assert.strictEqual(windowSize.width, 414);12    assert.strictEqual(windowSize.height, 896);13    await client.deleteSession();14}15main();16[0-0] 2020-03-26T11:57:30.385Z INFO webdriver: DATA { capabilities: { alwaysMatch: { platformName: 'iOS', platformVersion: '13.3', deviceName: 'iPhone 11 Pro Max', app: '/Users/username/Library/Developer/Xcode/DerivedData/WebDriverAgent-brdadhpuduowllgivnnvuygpwhzy/Build/Products/Debug-iphonesimulator/IntegrationApp.app', automationName: 'XCUITest', browserName: 'safari' }, firstMatch: [ {} ] },  desiredCapabilities: { platformName: 'iOS', platformVersion: '13.3', deviceName: 'iPhone 11 Pro Max', app: '/Users/username/Library/Developer/Xcode/DerivedData/WebDriverAgent-brdadhpuduowllgivnnvuygpwhzy/Build/Products/Debug-iphonesimulator/IntegrationApp.app', automationName: 'XCUITest', browserName: 'safari' } }

Full Screen

Using AI Code Generation

copy

Full Screen

1const {Builder, By, Key, until} = require('selenium-webdriver');2const {attach} = require('appium-selenium-driver');3const XCUITestDriver = require('appium-xcuitest-driver');4const desiredCaps = {5};6const driver = new Builder()7    .forBrowser('XCUITest')8    .build();9attach(driver, XCUITestDriver, desiredCaps);10driver.windowHandle().then((window) => {11  console.log(window);12  driver.window(window).getSize().then((size) => {13    console.log(size);14  });15});16driver.quit();17driver.windowHandle().then((window) => {18  console.log(window);19  driver.window(window).getSize().then((size) => {20    console.log(size);21  });22});23driver.windowHandle().then((window) => {24  console.log(window);25  driver.window(window).getSize().then((size) => {26    console.log(size);27  });28});29driver.executeScript('mobile: getDeviceScreenSize', {}).then((size) => {30  console.log(size);31});

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 Appium Xcuitest Driver automation tests on LambdaTest cloud grid

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

Sign up Free
_

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful