Best JavaScript code snippet using appium-xcuitest-driver
safari-window-e2e-specs.js
Source:safari-window-e2e-specs.js
...75 await driver.close();76 await spinTitleEquals(driver, 'I am a page title');77 });78 it('should be able to use window handles', async function () {79 const initialWindowHandle = await driver.windowHandle();80 await driver.elementById('blanklink').click();81 await spinTitleEquals(driver, 'I am another page title');82 const newWindowHandle = await driver.windowHandle();83 // should still have the first page84 await driver.window(initialWindowHandle);85 await spinTitleEquals(driver, 'I am a page title');86 // should still have the second page87 await driver.window(newWindowHandle);88 await spinTitleEquals(driver, 'I am another page title');89 // close and we should have the original page90 await driver.close();91 await spinTitleEquals(driver, 'I am a page title');92 });93 it('should be able to go back and forward', async function () {94 await driver.elementByLinkText('i am a link').click();95 await driver.elementById('only_on_page_2');96 await driver.back();...
index.js
Source:index.js
...103 it("title", function () {104 return driver.title().should.become("Main Window");105 });106 it("window name", function () {107 return driver.windowHandle().should.become("main");108 });109 it("windows name", function () {110 return driver.windowHandles().should.become(["main"]);111 });112 it("window", function () {113 return driver.window("main").windowHandle().should.become("main");114 });115 it("click start", function () {116 return driver.elementById('start').click().sleep(1000)117 .elementById('info').text().should.become("Start");118 });119 it("click stop", function () {120 return driver.elementById('stop').click().sleep(1000)121 .elementById('info').text().should.become("Stop");...
basic.js
Source:basic.js
...48 var testPage = baseUrl + 'guinea-pig.html';49 yield driver.get(testPage);50 var title = yield driver.title();51 title.should.equal("I am a page title");52 var handle = yield driver.windowHandle();53 handle.length.should.be.above(0);54 handles['window-1'] = handle;55 });56 it('should open a new window', function*() {57 var newWindow = baseUrl + 'guinea-pig2.html';58 yield driver.newWindow(newWindow, 'window-2');59 });60 it('should switch to a window', function*() {61 yield driver.window("window-2");62 });63 it('should get the window name', function*() {64 var name = yield driver.windowName();65 name.should.equal("window-2");66 var handle = yield driver.windowHandle();67 handle.length.should.be.above(0);68 handle.should.not.eql(handles['window-1']);69 handles['window-2'] = handle;70 });71 it('should get window handles', function*() {72 var wdHandles = yield driver.windowHandles();73 _.each(handles, function(handle) {74 wdHandles.should.include(handle);75 });76 });77 it('should handle wd errors', function*() {78 var err;79 try {80 yield driver.alertText();...
window.test.js
Source:window.test.js
...92 * https://macacajs.github.io/macaca-wd/#windowHandle93 */94 describe('windowHandle', async () => {95 it('should work', async () => {96 await driver.windowHandle();97 assert.equal(server.ctx.method, 'GET');98 assert.equal(server.ctx.url, '/wd/hub/session/window_handle');99 assert.deepEqual(server.ctx.request.body, {});100 assert.deepEqual(server.ctx.response.body, {101 sessionId: 'sessionId',102 status: 0,103 value: '',104 });105 });106 });107 /**108 * https://macacajs.github.io/macaca-wd/#windowHandles109 */110 describe('windowHandles', async () => {...
websampler.js
Source:websampler.js
...23 }24 async start () {25 await super.start();26 if (this.rect) {27 let handle = await this.driver.windowHandle();28 await this.driver.setWindowSize(this.rect.width, this.rect.height, handle);29 await this.driver.setWindowPosition(this.rect.x, this.rect.y, handle);30 }31 await this.driver.get(`${SAMPLER_HOST}/${this.endpoint}`);32 await this.findSamplesFromScoreAnalysis();33 //await this.playNote('{00-silence}');34 await Promise.delay(1000);35 }36 async findSamples (samples) {37 //samples.push('00-silence');38 for (let sample of _.uniq(samples)) {39 if (sample === 'r') continue;40 console.log(`Finding position of ${sample}...`);41 let el = await this.driver.elementById(sample);...
browser.js
Source:browser.js
1import type {BrowserOrientation} from './enums/browser-orientations';2import type Driver from './driver';3import type {Options} from './flow-types/options';4import ActiveWindow from './active-window';5import addDebugging from './add-debugging';6import BaseClass from './base-class';7import CookieStorage from './cookie-storage';8import IME from './ime';9import LocalStorage from './local-storage';10import SessionStorage from './session-storage';11import WindowHandle from './window-handle';12/*13 * Browser accessor class14 */15class Browser extends BaseClass {16 /*17 * The currently active window. This has most of the methods to interact with18 * the the current page.19 */20 activeWindow: ActiveWindow;21 /*22 * Get the IME object.23 */24 ime: IME;25 /*26 * Get the Cookie-Storage object.27 */28 cookieStorage: CookieStorage;29 /*30 * Get the Local-Storage object.31 */32 localStorage: LocalStorage;33 /*34 * Get the Session-Storage object.35 */36 sessionStorage: SessionStorage;37 constructor(driver: Driver, options: Options) {38 super(driver);39 this.activeWindow = new ActiveWindow(this.driver, options);40 this.ime = new IME(this.driver);41 this.cookieStorage = new CookieStorage(this.driver);42 this.localStorage = new LocalStorage(this.driver);43 this.sessionStorage = new SessionStorage(this.driver);44 }45 /*46 * Get an array of windows for all available windows47 */48 async getWindows(): Promise<Array<WindowHandle>> {49 const windowHandles = await this.requestJSON('GET', '/window_handles');50 return windowHandles.map(windowHandle => {51 return new WindowHandle(this.driver, windowHandle);52 });53 }54 /*55 * Get the current browser orientation56 */57 async getOrientation(): Promise<BrowserOrientation> {58 return this.requestJSON('GET', '/orientation');59 }60 /*61 * Get the current browser orientation62 */63 async setOrientation(orientation: BrowserOrientation): Promise<void> {64 await this.requestJSON('POST', '/orientation', {orientation});65 }66 /*67 * Get the current geo location68 */69 async getGeoLocation(): Promise<{latitude: number, longitude: number, altitude: number}> {70 return await this.requestJSON('GET', '/location');71 }72 /*73 * Set the current geo location74 */75 async setGeoLocation(loc: {latitude: number, longitude: number, altitude: number}): Promise<void> {76 await this.requestJSON('POST', '/location', loc);77 }78}79addDebugging(Browser);...
WebDriver.js
Source:WebDriver.js
1'use strict';2const TargetLocator = require('../TargetLocator');3const WebElement = require('../wrappers/WebElement');4const SeleniumService = require('../services/selenium/SeleniumService');5class WebDriver {6 /**7 *8 * @param {Object} remoteWebDriver9 */10 constructor(remoteWebDriver) {11 this._remoteWebDriver = remoteWebDriver;12 }13 /**14 * @param {By} locator15 * @return {WebElement}16 */17 async findElement(locator) {18 const element = await this.remoteWebDriver.findElement(locator.using, locator.value);19 return new WebElement(this, element, locator);20 }21 /**22 * Save a screenshot as a base64 encoded PNG23 * @return {Promise.Buffer} returns base64 string buffer24 */25 takeScreenshot() {26 return this.remoteWebDriver.takeScreenshot();27 }28 defaultContent() {29 return this.remoteWebDriver.frame();30 }31 switchTo() {32 return new TargetLocator(this);33 }34 frame(id) {35 return this.remoteWebDriver.frame(id);36 }37 sleep(ms) {38 return this.remoteWebDriver.pause(ms);39 }40 end() {41 return this.remoteWebDriver.end();42 }43 url(url) {44 return this.remoteWebDriver.url(url);45 }46 getUrl() {47 return this.remoteWebDriver.getUrl();48 }49 getTitle() {50 return this.remoteWebDriver.getTitle();51 }52 close() {53 return this.remoteWebDriver.close();54 }55 windowHandle() {56 return this.remoteWebDriver.windowHandle();57 }58 getSource() {59 return this.remoteWebDriver.getSource();60 }61 /**62 * @return {Promise}63 */64 async execute(f) {65 try {66 return this.remoteWebDriver.execute(f);67 } catch (e) {68 throw e;69 }70 }71 /**72 * @return {Promise}73 */74 async executeAsync(f) {75 try {76 return this.remoteWebDriver.executeAsync(f);77 } catch (e) {78 throw e;79 }80 }81 get remoteWebDriver() {82 return this._remoteWebDriver;83 }84 getCapabilities() {85 return this.remoteWebDriver.getCapabilities();86 }87 /**88 * @param {Command} cmd89 * @returns {Promise<void>}90 */91 executeCommand(cmd) {92 const seleniumService = new SeleniumService(this.remoteWebDriver);93 return seleniumService.execute(cmd);94 }95}...
writer.js
Source:writer.js
...20 this.driver = wd.promiseChainRemote(this.host, this.port);21 await this.driver.init(this.caps);22 if (this.rect) {23 await Promise.delay(1000);24 let handle = await this.driver.windowHandle();25 await this.driver.setWindowSize(this.rect.width, this.rect.height, handle);26 await this.driver.setWindowPosition(this.rect.x, this.rect.y, handle);27 }28 await this.driver.get(`http://localhost:${this.writerPort}`);29 await this.driver.setImplicitWaitTimeout(10000);30 this.textEl = await this.driver.elementById(this.textElId);31 }32 async writeLyrics (segments, tempo) {33 const beatDur = 60 / tempo;34 const msPerBar = beatDur * 1000 * this.beatsPerMeasure;35 for (let [bars, words] of segments) {36 let start = Date.now();37 let desiredDur = bars * msPerBar;38 let desiredEnd = start + desiredDur;...
Using AI Code Generation
1const wdio = require('webdriverio');2const options = {3 capabilities: {4 }5};6(async function main() {7 try {8 const client = await wdio.remote(options);9 const windowHandles = await client.getWindowHandles();10 console.log(windowHandles);11 const windowHandle = await client.getWindowHandle();12 console.log(windowHandle);13 } catch (err) {14 console.log(err);15 }16})();
Using AI Code Generation
1const wd = require('wd');2const chai = require('chai');3const chaiAsPromised = require('chai-as-promised');4chai.use(chaiAsPromised);5chai.should();6chaiAsPromised.transferPromiseness = wd.transferPromiseness;7const driver = wd.promiseChainRemote('localhost', 4723);8const desiredCaps = {9};10 .init(desiredCaps)11 .then(() => {12 return driver.windowHandle();13 })14 .then((windowHandle) => {15 console.log(windowHandle);16 });17 at createHangUpError (_http_client.js:331:15)18 at Socket.socketOnEnd (_http_client.js:423:23)19 at emitNone (events.js:91:20)20 at Socket.emit (events.js:188:7)21 at endReadableNT (_stream_readable.js:974:12)22 at _combinedTickCallback (internal/process/next_tick.js:80:11)23 at process._tickDomainCallback (internal/process/next_tick.js:128:9)
Using AI Code Generation
1const driver = require('appium-xcuitest-driver').driver2const wd = require('wd')3const assert = require('assert')4const caps = {5}6browser.init(caps).then(() => {7 driver.windowHandle()8 .then(function (window) {9 console.log('window handle is: ' + window)10 })11 .catch(function (err) {12 console.log('Error occurred while getting window handle: ' + err)13 })14})
Using AI Code Generation
1import { remote } from "webdriverio";2import { execSync } from "child_process";3const opts = {4 capabilities: {5 }6};7(async () => {8 const client = await remote(opts);9 await client.windowHandle();10 await client.getWindowHandle();11 await client.deleteSession();12})();13import { remote } from "webdriverio";14import { execSync } from "child_process";15const opts = {16 capabilities: {17 }18};19(async () => {20 const client = await remote(opts);21 await client.getWindowHandles();22 await client.deleteSession();23})();24import { remote } from "webdriverio";25import { execSync } from "child_process";26const opts = {27 capabilities: {28 }29};30(async () => {31 const client = await remote(opts);
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.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!