How to use ScriptTimeout method in Appium Xcuitest Driver

Best JavaScript code snippet using appium-xcuitest-driver

test.js

Source:test.js Github

copy

Full Screen

1// This file is distributed under the MIT license.2// See LICENSE file in the project root for details.3'use strict';4const chai = require('chai');5const moment = require('moment');6const path = require('path');7const sinon = require('sinon');8const util = require('util');9const webdriver = require('selenium-webdriver');10const expect = chai.expect;11chai.use(require('sinon-chai'));12describe('logging', () => {13 const logging = require('..').logging;14 describe('setFilters', () => {15 let logger = null;16 beforeEach(() => {17 logger = sinon.createStubInstance(webdriver.logging.Logger);18 sinon.stub(webdriver.logging, 'getLogger').callsFake((name) => {19 return logger;20 });21 });22 afterEach(() => {23 webdriver.logging.getLogger.restore();24 });25 context('when level is a non-empty string', () => {26 it('should call Logger.setLevel with a specified level', () => {27 logging.setFilters([{ logger: 'test', level: 'DEBUG' }]);28 expect(logger.setLevel).to.have.been.calledOnce;29 expect(logger.setLevel)30 .to.have.been.calledWith(webdriver.logging.Level.DEBUG);31 });32 });33 context('when level is an empty string', () => {34 it('should call Logger.setLevel with null', () => {35 logging.setFilters([{ logger: 'test', level: '' }]);36 expect(logger.setLevel).to.have.been.calledOnce;37 expect(logger.setLevel).to.have.been.calledWith(null);38 });39 });40 });41 describe('enable/disable', () => {42 let clock = null;43 let sink = null;44 beforeEach(() => {45 clock = sinon.useFakeTimers();46 sink = sinon.spy();47 logging.setSink(sink);48 logging.setFilters([{ logger: 'test', level: 'DEBUG' }]);49 });50 afterEach(() => {51 logging.setFilters([{ logger: 'test', level: '' }]);52 logging.setSink(null);53 sink = null;54 clock.restore();55 clock = null;56 });57 it('should call a log sink function for logging', () => {58 const logger = webdriver.logging.getLogger('test');59 logger.debug('debug1');60 logger.fine('fine1');61 logging.enable();62 logger.debug('debug2');63 logger.fine('fine2');64 logging.disable();65 expect(sink).to.have.been.calledOnce;66 expect(sink).to.have.been.calledWith(util.format(67 '[%s][%s] [test] debug2',68 moment(0).format(), webdriver.logging.Level.DEBUG));69 });70 });71});72describe('ScriptRunner', () => {73 const ScriptRunner = require('..').ScriptRunner;74 let timeoutsStub, optionsStub, driverStub, capsStub, builderStub;75 beforeEach(() => {76 optionsStub = {};77 optionsStub.setTimeouts = sinon.stub();78 driverStub = Promise.resolve();79 driverStub.get = sinon.stub();80 driverStub.getTitle = sinon.stub().returns(Promise.resolve('title'));81 driverStub.executeScript = sinon.stub();82 driverStub.executeAsyncScript = sinon.stub();83 driverStub.manage = sinon.stub().returns(optionsStub);84 driverStub.quit = sinon.stub();85 capsStub = new webdriver.Capabilities;86 builderStub = sinon.createStubInstance(webdriver.Builder);87 builderStub.forBrowser.returns(builderStub);88 builderStub.usingServer.returns(builderStub);89 builderStub.getCapabilities.returns(capsStub);90 builderStub.build.returns(driverStub);91 sinon.stub(webdriver, 'Builder').returns(builderStub);92 });93 afterEach(() => {94 webdriver.Builder.restore();95 builderStub = null;96 capsStub = null;97 driverStub = null;98 optionsStub = null;99 timeoutsStub = null;100 });101 describe('#run', () => {102 context('when multiple targets are specified', () => {103 const options = {104 async: false,105 browser: 'browser',106 browserOptioins: {},107 scriptArgs: [],108 scriptTimeout: 10,109 server: 'server'110 };111 const targets = ['uri:uri1', 'uri:uri2', 'uri:uri3', 'uri:uri4'];112 beforeEach(() => {113 driverStub.executeScript.returns(Promise.resolve(1));114 });115 it('should get results as many as targets', async () => {116 const results = await new ScriptRunner(options).run('script', targets);117 expect(results).to.have.lengthOf(targets.length);118 });119 });120 context('when driver.executeScript() returns a result', () => {121 const options = {122 async: false,123 browser: 'browser',124 browserOptioins: {},125 scriptArgs: [],126 scriptTimeout: 10,127 server: 'server'128 };129 const targets = ['uri:uri'];130 beforeEach(() => {131 driverStub.executeScript.returns(Promise.resolve(1));132 });133 it('should call driver.quit()', async () => {134 await new ScriptRunner(options).run('script', targets);135 expect(driverStub.quit).to.have.been.calledOnce;136 });137 it('should set the title and the result', async () => {138 const results = await new ScriptRunner(options).run('script', targets);139 expect(results[0].title).to.exist;140 expect(results[0].result).to.exist;141 expect(results[0].error).to.not.exist;142 });143 });144 context('when driver.executeScript() throws an error', () => {145 const options = {146 async: false,147 browser: 'browser',148 browserOptioins: {},149 scriptArgs: [],150 scriptTimeout: 10,151 server: 'server'152 };153 const targets = ['uri:uri'];154 beforeEach(() => {155 driverStub.executeScript.throws(new Error);156 });157 it('should call driver.quit()', async () => {158 await new ScriptRunner(options).run('script', targets);159 expect(driverStub.quit).to.have.been.calledOnce;160 });161 it('should set the error', async () => {162 const results = await new ScriptRunner(options).run('script', targets);163 expect(results[0].result).to.not.exist;164 expect(results[0].error).to.exist;165 });166 });167 context('when driver.get() throws an error', () => {168 const options = {169 async: false,170 browser: 'browser',171 browserOptioins: {},172 scriptArgs: [],173 scriptTimeout: 10,174 server: 'server'175 };176 const targets = ['uri:uri'];177 beforeEach(() => {178 driverStub.get.throws(new Error);179 });180 it('should call driver.quit()', async () => {181 await new ScriptRunner(options).run('script', targets);182 expect(driverStub.quit).to.have.been.calledOnce;183 });184 it('should not call driver.executeScript()', async () => {185 await new ScriptRunner(options).run('script', targets);186 expect(driverStub.executeScript).to.have.not.been.called;187 });188 it('should set the error', async () => {189 const results = await new ScriptRunner(options).run('script', targets);190 expect(results[0].result).to.not.exist;191 expect(results[0].error).to.exist;192 });193 });194 context('when a navigation script is used', () => {195 const options = {196 async: false,197 browser: 'browser',198 browserOptioins: {},199 scriptArgs: [],200 scriptTimeout: 10,201 server: 'server'202 };203 const targets = [path.join(__dirname, 'navigation.js')];204 it('should not call driver.get()', async () => {205 await new ScriptRunner(options).run('script', targets);206 expect(driverStub.get).to.have.not.been.called;207 });208 it('should call driver.executeScript()', async () => {209 await new ScriptRunner(options).run('script', targets);210 expect(driverStub.executeScript).to.have.been.calledOnce;211 });212 it('should call driver.quit()', async () => {213 await new ScriptRunner(options).run('script', targets);214 expect(driverStub.quit).to.have.been.calledOnce;215 });216 });217 context('when a window index is specified', () => {218 const options = {219 async: false,220 browser: 'browser',221 browserOptioins: {},222 scriptArgs: [],223 scriptTimeout: 10,224 server: false225 };226 const targets = ['@current'];227 it('should not call driver.get()', async () => {228 await new ScriptRunner(options).run('script', targets);229 expect(driverStub.get).to.have.not.been.called;230 });231 it('should call driver.executeScript()', async () => {232 await new ScriptRunner(options).run('script', targets);233 expect(driverStub.executeScript).to.have.been.calledOnce;234 });235 it('should call driver.quit()', async () => {236 await new ScriptRunner(options).run('script', targets);237 expect(driverStub.quit).to.have.been.calledOnce;238 });239 });240 context('when an unsupported window index is specified', () => {241 const options = {242 async: false,243 browser: 'browser',244 browserOptioins: {},245 scriptArgs: [],246 scriptTimeout: 10,247 server: false248 };249 const targets = ['@unsupported'];250 it('should not call driver.executeScript()', async () => {251 await new ScriptRunner(options).run('script', targets);252 expect(driverStub.executeScript).to.have.not.been.calledOnce;253 });254 it('should call driver.quit()', async () => {255 await new ScriptRunner(options).run('script', targets);256 expect(driverStub.quit).to.have.been.calledOnce;257 });258 it('should set the error', async () => {259 const results = await new ScriptRunner(options).run('script', targets);260 expect(results[0].result).to.not.exist;261 expect(results[0].error).to.exist;262 });263 });264 context('when the ChromeDriver is used with Chrome-specific options', () => {265 const options = {266 async: false,267 browser: 'chrome',268 browserOptioins: {key: 'value'},269 scriptArgs: [],270 scriptTimeout: 10,271 server: false272 };273 const targets = ['@current'];274 it('should set chromeOptions', async () => {275 await new ScriptRunner(options).run('script', targets);276 expect(capsStub.has('chromeOptions')).to.be.true;277 expect(capsStub.get('chromeOptions')).to.eql(options.browserOptions);278 });279 it('should call driver.quit()', async () => {280 await new ScriptRunner(options).run('script', targets);281 expect(driverStub.quit).to.have.been.calledOnce;282 });283 });284 context('when the async option is specifed', () => {285 const options = {286 async: true,287 browser: 'browser',288 browserOptioins: {},289 scriptArgs: [],290 scriptTimeout: 10,291 server: 'server'292 };293 const targets = ['uri:uri'];294 beforeEach(() => {295 driverStub.executeAsyncScript.returns(Promise.resolve(1));296 });297 it('should call setTimeouts', async () => {298 await new ScriptRunner(options).run('script', targets);299 expect(optionsStub.setTimeouts).to.have.been.calledOnce;300 expect(optionsStub.setTimeouts).to.have.been.calledWith({301 script: options.scriptTimeout * 1000302 });303 });304 it('should call executeAsyncScript', async () => {305 await new ScriptRunner(options).run('script', targets);306 expect(driverStub.executeAsyncScript).to.have.been.calledOnce;307 });308 });309 context('when scrint arguments are specifed', () => {310 const options = {311 async: false,312 browser: 'browser',313 browserOptioins: {},314 scriptArgs: [1, 2],315 scriptTimeout: 10,316 server: 'server'317 };318 const targets = ['uri:uri'];319 beforeEach(() => {320 driverStub.executeAsyncScript.returns(Promise.resolve(1));321 });322 it('should call setScriptTimeout with the script arguments', async () => {323 await new ScriptRunner(options).run('script', targets);324 expect(driverStub.executeScript).to.have.been.calledOnce;325 expect(driverStub.executeScript).to.have.been.calledWith(326 'const ARGS = arguments;\nscript', ...options.scriptArgs);327 });328 });329 });330 describe('#abort', () => {331 const options = {332 async: false,333 browser: 'browser',334 browserOptioins: {},335 scriptArgs: [],336 scriptTimeout: 10,337 server: 'server'338 };339 const targets = ['uri:uri1', 'uri:uri2'];340 context('when it is called before running script', () => {341 it('should abort the all promises', async () => {342 const runner = new ScriptRunner(options);343 const promise = runner.run('script', targets);344 runner.abort();345 const results = await promise;346 results.forEach((result) => {347 expect(result).to.not.have.property('result');348 expect(result).to.have.property('error');349 });350 });351 });352 context('when it is called after running script', () => {353 it('should abort the remaining promises', async () => {354 const runner = new ScriptRunner(options);355 driverStub.executeScript = () => runner.abort();356 const results = await runner.run('script', targets);357 expect(results[0]).to.have.property('result');358 expect(results[0]).to.not.have.property('error');359 expect(results[1]).to.not.have.property('result');360 expect(results[1]).to.have.property('error');361 });362 });363 });...

Full Screen

Full Screen

webdriver-environments.js

Source:webdriver-environments.js Github

copy

Full Screen

1const { WebDriver, Builder, By, Key, until, logging, Capabilities, Capability } = require('selenium-webdriver');2const chromeOptions = require('selenium-webdriver/chrome').Options;3const firefoxOptions = require('selenium-webdriver/firefox').Options;4const path = require('path');5const fs = require('fs');6const os = require('os');7const ExtendedWebDriver = require('./ExtendedWebDriver');8const browserStackEnvironments = require('./browserstack-environments');9const helpers = require('./helpers');10const config = require('./config');11function getLoggingPrefs() {12 const prefs = new logging.Preferences();13 prefs.setLevel(logging.Type.BROWSER, logging.Level.ALL);14 return prefs;15};16/**17 * @typedef {Object} TestEnvironment18 * @property {string} description Human-readable name of the operating system & web browser.19 * @property {string} browserName Lowercase name of web browser (for mobile this can be 'android' or 'iphone').20 * @property {Promise<ExtendedWebDriver>} createDriver Promise that resolves to a ready-to-use WebDriver instance.21 */22/**23 * @generator24 * @param {string} user BrowserStack user credential.25 * @param {string} key BrowserStack key credential.26 * @yields {TestEnvironment}27 */28function* getBrowserstackEnvironments(user, key) {29 for (const env of browserStackEnvironments) {30 const caps = new Capabilities(env).merge({31 'browserstack.user': user,32 'browserstack.key': key,33 'browserstack.console': 'verbose'34 });35 // Increase the `driver.executeAsyncScript(...)` timeout from zero to something usable.36 // https://stackoverflow.com/a/31121340/79496237 const scriptTimeout = 60000;38 caps.merge({'timeouts': { script: scriptTimeout }}).set(Capability.TIMEOUTS, { script: scriptTimeout });39 if (config.browserStack.localEnabled) {40 caps.merge({41 'browserstack.local': 'true',42 'browserstack.localIdentifier': config.browserStack.localIdentifier43 });44 }45 yield {46 description: env.desc,47 browserName: env.browserName.toLowerCase(),48 createDriver: async () => {49 const driver = await new Builder()50 .usingServer(config.browserStack.hubUrl)51 .withCapabilities(caps)52 .setLoggingPrefs(getLoggingPrefs())53 .build();54 // iOS on BrowserStack seems to ignore script timeouts specified in 55 // the Capabilities so explicitly set them here. 56 await driver.manage().setTimeouts({ script: scriptTimeout });57 return new ExtendedWebDriver(driver);58 }59 };60 }61}62/**63 * Generates test environments for the local machine. Always includes 'chrome' and 'firefox'.64 * If on macOS then also includes 'safari'. If on Windows then also includes 'edge'. 65 * @generator66 * @yields {TestEnvironment}67 */68function* getLocalSystemBrowserEnvironments() {69 const browsers = ['firefox', 'chrome'];70 // Ensure the browser webdriver binaries are added to env path71 require('chromedriver');72 require('geckodriver');73 if (process.platform === 'darwin') {74 browsers.push('safari');75 } else if (process.platform === 'win32') {76 browsers.push('edge');77 }78 // Disable Chrome's protocol handler for `blockstack:` in case the native browser is installed on this machine79 // https://stackoverflow.com/a/41299296/79496280 // Note: This ability has since been disabled by Chrome, there is no way to hide the prompt.81 // https://github.com/chromium/chromium/blob/5f0fb8c9021d25d1fadc1ae3706b4790dbcded5a/chrome/browser/external_protocol/external_protocol_handler.cc#L19482 const chromeOpts = new chromeOptions()83 .setUserPreferences({protocol_handler: { excluded_schemes: { 'blockstack': true } } });84 // Disable Firefox's protocol handler for `blockstack:` in case the native browser is installed on this machine85 // https://stackoverflow.com/a/53154527/79496286 const firefoxOpts = (() => {87 const handlers = '{"defaultHandlersVersion":{"en-US":4},"schemes":{"blockstack":{"action":2,"handlers":[{"name":"None","uriTemplate":"#"}]}}}';88 const tempDir = path.resolve(os.tmpdir(), helpers.getRandomString());89 fs.mkdirSync(tempDir);90 fs.writeFileSync(path.resolve(tempDir, 'handlers.json'), handlers);91 return new firefoxOptions().setProfile(tempDir);92 })();93 const caps = new Capabilities().setLoggingPrefs(getLoggingPrefs());94 // Increase the `driver.executeAsyncScript(...)` timeout from zero to something usable.95 // https://stackoverflow.com/a/31121340/79496296 const scriptTimeout = 60000;97 caps.merge({ 'timeouts': { script: scriptTimeout } }).set(Capability.TIMEOUTS, { script: scriptTimeout });98 for (let browser of new Set(browsers)) {99 yield {100 description: `${process.platform} ${browser}`,101 browserName: browser.toLowerCase(),102 createDriver: async () => { 103 const driver = await new Builder()104 .withCapabilities(caps)105 .forBrowser(browser)106 .setChromeOptions(chromeOpts)107 .setFirefoxOptions(firefoxOpts)108 .build();109 return new ExtendedWebDriver(driver);110 }111 };112 }113}114module.exports.getTestEnvironments = function () {115 if (config.browserStack.enabled) {116 return getBrowserstackEnvironments(config.browserStack.user, config.browserStack.key);117 } else {118 return getLocalSystemBrowserEnvironments();119 }...

Full Screen

Full Screen

cucumber-webdriver.js

Source:cucumber-webdriver.js Github

copy

Full Screen

...41 var reuseOrCreateSession = function (sessions, webBrowser, scriptTimeout, implicitlyWait, callback) {42 var browser;43 if (sessions.length === 0) {44 browser = require(rtdSeleniumServer)(webdriver, { browserName: webBrowser });45 browser.manage().timeouts().setScriptTimeout(scriptTimeout);46 browser.manage().timeouts().implicitlyWait(implicitlyWait);47 callback(browser);48 } else {49 var tempDriver = require(rtdSeleniumServer)(webdriver, { browserName: webBrowser }, sessions[0].id);50 getWebdriverSessionStatus(sessions[0].id, function (status) {51 if (status !== 200) {52 deleteWebdriverSessions(sessions);53 tempDriver = require(rtdSeleniumServer)(webdriver, { browserName: webBrowser });54 }55 tempDriver.manage().timeouts().setScriptTimeout(scriptTimeout);56 tempDriver.manage().timeouts().implicitlyWait(implicitlyWait);57 browser = tempDriver;58 callback(browser);59 });60 }61 };62 Webdriver = function (webBrowser, scriptTimeout, implicitlyWait) {63 return {64 driver: webdriver,65 getBrowser: function (callback) {66 getWebdriverSessions(function (sessions) {67 reuseOrCreateSession(sessions, webBrowser, scriptTimeout, implicitlyWait, callback);68 });69 }...

Full Screen

Full Screen

Common.js

Source:Common.js Github

copy

Full Screen

1/* 此處的JavaScript將在所有用戶載入每個頁面時使用。 */2/*Webfont from Adobe*/3 (function(d) {4 var config = {5 kitId: 'obo3aov',6 scriptTimeout: 3000,7 async: true8 },9 h=d.documentElement,t=setTimeout(function(){h.className=h.className.replace(/\bwf-loading\b/g,"")+" wf-inactive";},config.scriptTimeout),tk=d.createElement("script"),f=false,s=d.getElementsByTagName("script")[0],a;h.className+=" wf-loading";tk.src='https://use.typekit.net/'+config.kitId+'.js';tk.async=true;tk.onload=tk.onreadystatechange=function(){a=this.readyState;if(f||a&&a!="complete"&&a!="loaded")return;f=true;clearTimeout(t);try{Typekit.load(config)}catch(e){}};s.parentNode.insertBefore(tk,s)10 })(document);11 12 (function(d) {13 var config = {14 kitId: 'jgu5nxk',15 scriptTimeout: 3000,16 async: true17 },18 h=d.documentElement,t=setTimeout(function(){h.className=h.className.replace(/\bwf-loading\b/g,"")+" wf-inactive";},config.scriptTimeout),tk=d.createElement("script"),f=false,s=d.getElementsByTagName("script")[0],a;h.className+=" wf-loading";tk.src='https://use.typekit.net/'+config.kitId+'.js';tk.async=true;tk.onload=tk.onreadystatechange=function(){a=this.readyState;if(f||a&&a!="complete"&&a!="loaded")return;f=true;clearTimeout(t);try{Typekit.load(config)}catch(e){}};s.parentNode.insertBefore(tk,s)19 })(document);20 21 (function(d) {22 var config = {23 kitId: 'gzm0pxb',24 scriptTimeout: 3000,25 async: true26 },27 h=d.documentElement,t=setTimeout(function(){h.className=h.className.replace(/\bwf-loading\b/g,"")+" wf-inactive";},config.scriptTimeout),tk=d.createElement("script"),f=false,s=d.getElementsByTagName("script")[0],a;h.className+=" wf-loading";tk.src='https://use.typekit.net/'+config.kitId+'.js';tk.async=true;tk.onload=tk.onreadystatechange=function(){a=this.readyState;if(f||a&&a!="complete"&&a!="loaded")return;f=true;clearTimeout(t);try{Typekit.load(config)}catch(e){}};s.parentNode.insertBefore(tk,s)...

Full Screen

Full Screen

Fandomdesktop.js

Source:Fandomdesktop.js Github

copy

Full Screen

1/*Webfont from Adobe*/2/* Source Han Sans CJK Traditional Chinese family */3 (function(d) {4 var config = {5 kitId: 'obo3aov',6 scriptTimeout: 3000,7 async: true8 },9 h=d.documentElement,t=setTimeout(function(){h.className=h.className.replace(/\bwf-loading\b/g,"")+" wf-inactive";},config.scriptTimeout),tk=d.createElement("script"),f=false,s=d.getElementsByTagName("script")[0],a;h.className+=" wf-loading";tk.src='https://use.typekit.net/'+config.kitId+'.js';tk.async=true;tk.onload=tk.onreadystatechange=function(){a=this.readyState;if(f||a&&a!="complete"&&a!="loaded")return;f=true;clearTimeout(t);try{Typekit.load(config)}catch(e){}};s.parentNode.insertBefore(tk,s)10 })(document);11/* Source Han Sans CJK Japanese family */ 12 (function(d) {13 var config = {14 kitId: 'jgu5nxk',15 scriptTimeout: 3000,16 async: true17 },18 h=d.documentElement,t=setTimeout(function(){h.className=h.className.replace(/\bwf-loading\b/g,"")+" wf-inactive";},config.scriptTimeout),tk=d.createElement("script"),f=false,s=d.getElementsByTagName("script")[0],a;h.className+=" wf-loading";tk.src='https://use.typekit.net/'+config.kitId+'.js';tk.async=true;tk.onload=tk.onreadystatechange=function(){a=this.readyState;if(f||a&&a!="complete"&&a!="loaded")return;f=true;clearTimeout(t);try{Typekit.load(config)}catch(e){}};s.parentNode.insertBefore(tk,s)19 })(document);20/* Source Han Sans CJK Korean family */ 21 (function(d) {22 var config = {23 kitId: 'gzm0pxb',24 scriptTimeout: 3000,25 async: true26 },27 h=d.documentElement,t=setTimeout(function(){h.className=h.className.replace(/\bwf-loading\b/g,"")+" wf-inactive";},config.scriptTimeout),tk=d.createElement("script"),f=false,s=d.getElementsByTagName("script")[0],a;h.className+=" wf-loading";tk.src='https://use.typekit.net/'+config.kitId+'.js';tk.async=true;tk.onload=tk.onreadystatechange=function(){a=this.readyState;if(f||a&&a!="complete"&&a!="loaded")return;f=true;clearTimeout(t);try{Typekit.load(config)}catch(e){}};s.parentNode.insertBefore(tk,s)...

Full Screen

Full Screen

test-marionette.js

Source:test-marionette.js Github

copy

Full Screen

1'use strict';2let assert = require('chai').assert;3let Marionette = require('../lib/marionette');4const OPTIONS = {5 marionetteHost: 'localhost',6 marionettePort: 2828,7 connectionTimeout: 10000,8 scriptTimeout: 300009};10// marionette unit tests11describe('marionette', () => {12 let marionette = new Marionette(OPTIONS);13 describe('constructor', () => {14 it('marionette', () => {15 assert.isObject(marionette);16 assert.instanceOf(marionette, Marionette);17 });18 // host19 it('host', () => {20 assert.property(marionette, 'host');21 assert.strictEqual(marionette.host, OPTIONS.marionetteHost);22 });23 // port24 it('port', () => {25 assert.property(marionette, 'port');26 assert.strictEqual(marionette.port, OPTIONS.marionettePort);27 });28 // timeout29 it('timeout', () => {30 assert.property(marionette, 'timeout');31 assert.strictEqual(marionette.timeout, OPTIONS.connectionTimeout);32 });33 // scriptTimeout34 it('scriptTimeout', () => {35 assert.property(marionette, 'scriptTimeout');36 assert.strictEqual(marionette.scriptTimeout, OPTIONS.scriptTimeout);37 });38 // start session39 it('start session', () => {40 assert.isFunction(marionette.startSession);41 });42 // switchToHomescreen43 it('switchToHomescreen', () => {44 assert.isFunction(marionette.switchToHomescreen);45 });46 // clearPerformanceBuffer47 it('clearPerformanceBuffer', () => {48 assert.isFunction(marionette.clearPerformanceBuffer);49 });50 // deleteSession51 it('deleteSession', () => {52 assert.isFunction(marionette.deleteSession);53 });54 });55 describe('switchToHomescreen', () => {56 it('error thrown when have no marionette session', () => {57 assert.throw(marionette.switchToHomescreen.bind(marionette), 'Cannot read property');58 });59 });...

Full Screen

Full Screen

font.js

Source:font.js Github

copy

Full Screen

1import preload from "./preload"2export default function() {3 (function(d) {4 let config = {5 kitId: "pof7yrz",6 scriptTimeout: 3000,7 async: true,8 },9 h = d.documentElement, t = setTimeout(function() {10 h.className = h.className.replace(/\bwf-loading\b/g, "") +11 " wf-inactive"12 }, config.scriptTimeout), tk = d.createElement("script"), f = false,13 s = d.getElementsByTagName("script")[0], a14 h.className += " wf-loading"15 tk.src = "https://use.typekit.net/" + config.kitId + ".js"16 tk.async = true17 tk.onload = tk.onreadystatechange = function() {18 a = this.readyState19 if (f || a && a !== "complete" && a !== "loaded") return20 f = true21 clearTimeout(t)22 try {23 Typekit.load(24 {25 kitId: "pof7yrz",26 scriptTimeout: 3000,27 async: true,28 loading: function() {29 console.log("loading")30 },31 active: function() {32 console.log("active")33 preload()34 },35 inactive: function() {36 console.log("inactive")37 preload()38 },39 },40 )41 } catch (e) {}42 }43 s.parentNode.insertBefore(tk, s)44 })(document)...

Full Screen

Full Screen

typekit.js

Source:typekit.js Github

copy

Full Screen

1(function(d) {2 var config = {3 kitId: 'nkl4ucl',4 scriptTimeout: 3000,5 async: true6 },7 h=d.documentElement,t=setTimeout(function(){h.className=h.className.replace(/\bwf-loading\b/g,"")+" wf-inactive";},config.scriptTimeout),tk=d.createElement("script"),f=false,s=d.getElementsByTagName("script")[0],a;h.className+=" wf-loading";tk.src='//use.typekit.net/'+config.kitId+'.js';tk.async=true;tk.onload=tk.onreadystatechange=function(){a=this.readyState;if(f||a&&a!="complete"&&a!="loaded")return;f=true;clearTimeout(t);try{Typekit.load(config)}catch(e){}};s.parentNode.insertBefore(tk,s)...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1const wdio = require("webdriverio");2const opts = {3 capabilities: {4 }5};6async function main() {7 let client = await wdio.remote(opts);8 await client.setTimeouts({ "script": 5000 });9 await client.deleteSession();10}11main();12client.setTimeouts({ "implicit": 5000 });13const wdio = require("webdriverio");14const opts = {15 capabilities: {16 }17};18async function main() {19 let client = await wdio.remote(opts);20 await client.setTimeouts({ "implicit": 5000 });21 await client.deleteSession();22}23main();

Full Screen

Using AI Code Generation

copy

Full Screen

1var webdriver = require('selenium-webdriver');2var driver = new webdriver.Builder().forBrowser('safari').build();3driver.manage().timeouts().setScriptTimeout(10000);4driver.executeScript('mobile: scroll', {direction: 'down'});5driver.quit();6var webdriver = require('selenium-webdriver');7var driver = new webdriver.Builder().forBrowser('safari').build();8driver.manage().timeouts().implicitlyWait(10000);9driver.findElement(webdriver.By.name('q')).sendKeys('webdriver');10driver.quit();11var webdriver = require('selenium-webdriver');12var driver = new webdriver.Builder().forBrowser('safari').build();13driver.manage().timeouts().pageLoadTimeout(10000);14driver.findElement(webdriver.By.name('q')).sendKeys('webdriver');15driver.quit();16var webdriver = require('selenium-webdriver');17var driver = new webdriver.Builder().forBrowser('safari').build();18driver.manage().timeouts().setAsyncScriptTimeout(10000);19driver.findElement(webdriver.By.name('q')).sendKeys('webdriver');20driver.quit();21var webdriver = require('selenium-webdriver');22var driver = new webdriver.Builder().forBrowser('safari').build();23driver.manage().timeouts().setImplicitWaitTimeout(10000);24driver.findElement(webdriver.By.name('q')).sendKeys('webdriver');25driver.quit();26var webdriver = require('selenium-webdriver');27var driver = new webdriver.Builder().forBrowser('safari').build();28driver.manage().timeouts().setPageLoadTimeout(10000);29driver.findElement(webdriver.By.name('q')).sendKeys('webdriver');30driver.quit();

Full Screen

Using AI Code Generation

copy

Full Screen

1const wdio = require("webdriverio");2(async () => {3 const opts = {4 capabilities: {5 }6 };7 const client = await wdio.remote(opts);8 const scriptTimeout = await client.execute("mobile: setScriptTimeout", {9 });10 console.log(scriptTimeout);11 await client.deleteSession();12})();13await driver.execute('mobile: setScriptTimeout', { scriptTimeout: 30000 });14{ message: 'The requested resource could not be found, or a request was received using an HTTP method that is not supported by the mapped resource.',15 type: 'NoSuchDriverError' }16await driver.execute('mobile: setImplicitWaitTimeout', { implicitWaitTimeout: 30000 });17{ message: 'The requested resource could not be found, or a request was received using an HTTP method that is not supported by the mapped resource.',18 type: 'NoSuchDriverError' }19await driver.execute('mobile: setImplicitWaitTimeout', { implicitWaitTimeout:

Full Screen

Using AI Code Generation

copy

Full Screen

1describe('Appium XCUITest Driver', function() {2 it('should set the timeout', function () {3 browser.timeouts('script', 10000);4 });5});6describe('Appium XCUITest Driver', function() {7 it('should set the timeout', function () {8 browser.timeouts('implicit', 10000);9 });10});11describe('Appium XCUITest Driver', function() {12 it('should set the timeout', function () {13 browser.timeouts('page load', 10000);14 });15});16describe('Appium XCUITest Driver', function() {17 it('should get the page source', function () {18 browser.getPageSource();19 });20});21describe('Appium XCUITest Driver', function() {22 it('should get the source', function () {23 browser.getSource();24 });25});26describe('Appium XCUITest Driver', function() {27 it('should get the window handles', function () {28 browser.getWindowHandles();29 });30});31describe('Appium XCUITest Driver', function() {32 it('should get the window handle', function () {33 browser.getWindowHandle();34 });35});36describe('Appium XCUITest Driver', function() {37 it('should set the window', function () {38 browser.setWindow('name');39 });40});41describe('Appium XCUITest Driver', function() {42 it('should get the window size', function () {43 browser.getWindowSize();44 });45});46describe('Appium XCUITest Driver', function() {47 it('should set the window size', function () {48 browser.setWindowSize(100, 100);49 });50});

Full Screen

Using AI Code Generation

copy

Full Screen

1const wdio = require("webdriverio");2const opts = {3 capabilities: {4 }5};6(async () => {7 const client = await wdio.remote(opts);8 await client.setScriptTimeout(5000);9 await client.execute("mobile: scroll", {direction: "down"});10 await client.deleteSession();11})();12{13 "scripts": {14 },15 "dependencies": {16 }17}18{19 "dependencies": {20 "@wdio/logger": {21 "requires": {

Full Screen

Using AI Code Generation

copy

Full Screen

1describe('XCUITest Driver', function() {2 it('should be able to set script timeout', async function() {3 await driver.setScriptTimeout(10000);4 });5});6{"ms": 10000}

Full Screen

Using AI Code Generation

copy

Full Screen

1var driver = new webdriver.Builder().forBrowser('safari').build();2driver.manage().timeouts().setScriptTimeout(60000);3driver.executeScript('return document.title').then(function(title) {4console.log('Page title is: ' + title);5driver.quit();6});

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