How to use driver.deleteAllCookies method in Appium Xcuitest Driver

Best JavaScript code snippet using appium-xcuitest-driver

safari-basic-e2e-specs.js

Source:safari-basic-e2e-specs.js Github

copy

Full Screen

...345    describe('cookies', function () {346      describe('within iframe webview', function () {347        it('should be able to get cookies for a page with none', async function () {348          await openPage(driver, GUINEA_PIG_IFRAME_PAGE);349          await driver.deleteAllCookies();350          await retryInterval(5, 1000, async function () {351            await driver.allCookies().should.eventually.have.length(0);352          });353        });354      });355      describe('within webview', function () {356        describe('insecure', function () {357          beforeEach(async function () {358            await openPage(driver, GUINEA_PIG_PAGE);359            await driver.deleteCookie(newCookie.name);360          });361          it('should be able to get cookies for a page', async function () {362            const cookies = await driver.allCookies();363            cookies.length.should.equal(2);364            doesIncludeCookie(cookies, oldCookie1);365            doesIncludeCookie(cookies, oldCookie2);366          });367          it('should be able to set a cookie for a page', async function () {368            await driver.setCookie(newCookie);369            const cookies = await driver.allCookies();370            doesIncludeCookie(cookies, newCookie);371            // should not clobber old cookies372            doesIncludeCookie(cookies, oldCookie1);373            doesIncludeCookie(cookies, oldCookie2);374          });375          it('should be able to set a cookie with expiry', async function () {376            const expiredCookie = Object.assign({}, newCookie, {377              expiry: parseInt(Date.now() / 1000, 10) - 1000, // set cookie in past378              name: 'expiredcookie',379            });380            let cookies = await driver.allCookies();381            doesNotIncludeCookie(cookies, expiredCookie);382            await driver.setCookie(expiredCookie);383            cookies = await driver.allCookies();384            // should not include cookie we just added because of expiry385            doesNotIncludeCookie(cookies, expiredCookie);386            // should not clobber old cookies387            doesIncludeCookie(cookies, oldCookie1);388            doesIncludeCookie(cookies, oldCookie2);389            await driver.deleteCookie(expiredCookie.name);390          });391          it('should be able to delete one cookie', async function () {392            await driver.setCookie(newCookie);393            let cookies = await driver.allCookies();394            doesIncludeCookie(cookies, newCookie);395            await driver.deleteCookie(newCookie.name);396            cookies = await driver.allCookies();397            doesNotIncludeCookie(cookies, newCookie);398            doesIncludeCookie(cookies, oldCookie1);399            doesIncludeCookie(cookies, oldCookie2);400          });401          it('should be able to delete all cookies', async function () {402            await driver.setCookie(newCookie);403            let cookies = await driver.allCookies();404            doesIncludeCookie(cookies, newCookie);405            await driver.deleteAllCookies();406            cookies = await driver.allCookies();407            cookies.length.should.equal(0);408            doesNotIncludeCookie(cookies, oldCookie1);409            doesNotIncludeCookie(cookies, oldCookie2);410          });411          describe('native context', function () {412            const notImplementedRegExp = /Method is not implemented/;413            let context;414            beforeEach(async function () {415              context = await driver.currentContext();416              await driver.context('NATIVE_APP');417            });418            afterEach(async function () {419              if (context) {420                await driver.context(context);421              }422            });423            it('should reject all functions', async function () {424              await driver.setCookie(newCookie).should.eventually.be.rejectedWith(notImplementedRegExp);425              await driver.allCookies().should.eventually.be.rejectedWith(notImplementedRegExp);426              await driver.deleteCookie(newCookie.name).should.eventually.be.rejectedWith(notImplementedRegExp);427              await driver.deleteAllCookies().should.eventually.be.rejectedWith(notImplementedRegExp);428            });429          });430        });431        describe('secure', function () {432          /*433           * secure cookie tests are in `./safari-ssl-e2e-specs.js`434           */435        });436      });437    });438  });439  describe('safariIgnoreFraudWarning', function () {440    describe('false', function () {441      beforeEach(async function () {...

Full Screen

Full Screen

controllers.test.js

Source:controllers.test.js Github

copy

Full Screen

...184      //   assert.throws(g, errors.NoSuchFrame);185      // }186    });187    it('cookie handlers', async () => {188      await driver.deleteAllCookies();189      var cookies = await driver.getAllCookies();190      assert.equal(cookies.length, 0);191      var cookie = {192        url: pkg.homepage,193        name: pkg.name,194        value: pkg.name195      };196      await driver.addCookie(cookie);197      const res = await driver.getNamedCookie(cookie.name);198      assert.equal(res.length, 1);199      var cookie2 = {200        url: pkg.homepage,201        name: 'cookie-test',202        value: 'cookie-test'203      };204      await driver.addCookie(cookie2);205      cookies = await driver.getAllCookies();206      assert.equal(cookies.length, 2);207      await driver.deleteCookie('cookie-test', pkg.homepage);208      cookies = await driver.getAllCookies();209      assert.equal(cookies.length, 1);210      await driver.deleteAllCookies();211      cookies = await driver.getAllCookies();212      assert.equal(cookies.length, 0);213    });214    it('cookie handlers legacy deleteCookie behaviour', async () => {215      await driver.deleteAllCookies();216      let cookies;217      var cookie = {218        url: pkg.homepage,219        name: pkg.name,220        value: pkg.name221      };222      await driver.addCookie(cookie);223      var cookie2 = {224        url: pkg.homepage,225        name: 'cookie-test',226        value: 'cookie-test'227      };228      await driver.addCookie(cookie2);229      cookies = await driver.getAllCookies();...

Full Screen

Full Screen

index.js

Source:index.js Github

copy

Full Screen

...138                    case "delete":139                        driver.del(options.url, options.headers, options.body, done);140                        break;141                    case "deleteAllCookies":142                        driver.deleteAllCookies(done);143                        break;144                    default:145                        if(done instanceof Function) done(new Error("Unsupported or unknown device interaction `" + interaction + "`"), null);146                }147            }148            else {149                if(done instanceof Function)150                    done(new Error("Cannot perform device interaction, since the driver hasn't been started yet."), false);151            }152            return self;153        };154        /**155         * Gets the device orientation<br>156         * Results will always be 1, since *most* monitors cannot rotate...

Full Screen

Full Screen

cookies-base.js

Source:cookies-base.js Github

copy

Full Screen

1"use strict";2var setup = require("../setup-base"),3    webviewHelper = require("../../../helpers/webview"),4    loadWebView = webviewHelper.loadWebView,5    isChrome = webviewHelper.isChrome,6    testEndpoint = webviewHelper.testEndpoint,7    _ = require('underscore');8module.exports = function (desired) {9  describe('cookies', function () {10    var driver;11    setup(this, desired, {'no-reset': true}).then(function (d) { driver = d; });12    describe('within iframe webview', function () {13      it('should be able to get cookies for a page with none', function (done) {14        loadWebView(desired, driver, testEndpoint(desired) + 'iframes.html',15            "Iframe guinea pig").then(function () {16          return driver17            .deleteAllCookies()18            .get(testEndpoint(desired))19            .allCookies().should.eventually.have.length(0);20        }).nodeify(done);21      });22    });23    describe('within webview', function () {24      // TODO: investigate why we need that25      function _ignoreEncodingBug(value) {26        if (isChrome(desired)) {27          console.warn('Going round android bug: whitespace in cookies.');28          return encodeURI(value);29        } else return value;30      }31      beforeEach(function (done) {32        loadWebView(desired, driver).nodeify(done);33      });34      it('should be able to get cookies for a page', function (done) {35        driver36          .allCookies()37          .then(function (cookies) {38            cookies.length.should.equal(2);39            cookies[0].name.should.equal("guineacookie1");40            cookies[0].value.should.equal(_ignoreEncodingBug("i am a cookie value"));41            cookies[1].name.should.equal("guineacookie2");42            cookies[1].value.should.equal(_ignoreEncodingBug("cookié2"));43          }).nodeify(done);44      });45      it('should be able to set a cookie for a page', function (done) {46        var newCookie = {name: "newcookie", value: "i'm new here"};47        driver48          .deleteCookie(newCookie.name)49          .allCookies()50          .then(function (cookies) {51            _.pluck(cookies, 'name').should.not.include(newCookie.name);52            _.pluck(cookies, 'value').should.not.include(newCookie.value);53          }).then(function () {54            return driver55              .setCookie(newCookie)56              .allCookies();57          })58          .then(function (cookies) {59            _.pluck(cookies, 'name').should.include(newCookie.name);60            _.pluck(cookies, 'value').should.include(newCookie.value);61            // should not clobber old cookies62            _.pluck(cookies, 'name').should.include("guineacookie1");63            _.pluck(cookies, 'value').should.include(_ignoreEncodingBug("i am a cookie value"));64          })65          .nodeify(done);66      });67      it('should be able to set a cookie with expiry', function (done) {68        var newCookie = {name: "newcookie", value: "i'm new here"};69        var now = parseInt(Date.now() / 1000, 10);70        newCookie.expiry = now - 1000; // set cookie in past71        driver72          .deleteCookie(newCookie.name)73          .allCookies()74          .then(function (cookies) {75            _.pluck(cookies, 'name').should.not.include(newCookie.name);76            _.pluck(cookies, 'value').should.not.include(newCookie.value);77          })78          .then(function () {79            return driver80              .setCookie(newCookie)81              .allCookies();82          }).then(function (cookies) {83            // should not include cookie we just added because of expiry84            _.pluck(cookies, 'name').should.not.include(newCookie.name);85            _.pluck(cookies, 'value').should.not.include(newCookie.value);86            // should not clobber old cookies87            _.pluck(cookies, 'name').should.include("guineacookie1");88            _.pluck(cookies, 'value').should.include(_ignoreEncodingBug("i am a cookie value"));89          })90          .nodeify(done);91      });92      it('should be able to delete one cookie', function (done) {93        var newCookie = {name: "newcookie", value: "i'm new here"};94        driver95          .deleteCookie(newCookie.name)96          .allCookies()97        .then(function (cookies) {98          _.pluck(cookies, 'name').should.not.include(newCookie.name);99          _.pluck(cookies, 'value').should.not.include(newCookie.value);100        }).then(function () {101          return driver102            .setCookie(newCookie)103            .allCookies();104        }).then(function (cookies) {105          _.pluck(cookies, 'name').should.include(newCookie.name);106          _.pluck(cookies, 'value').should.include(newCookie.value);107        }).then(function () {108          return driver109            .deleteCookie('newcookie')110            .allCookies();111        }).then(function (cookies) {112          _.pluck(cookies, 'name').should.not.include(newCookie.name);113          _.pluck(cookies, 'value').should.not.include(newCookie.value);114        }).nodeify(done);115      });116      it('should be able to delete all cookie', function (done) {117        var newCookie = {name: "newcookie", value: "i'm new here"};118        driver119          .deleteCookie(newCookie.name)120          .allCookies()121          .then(function (cookies) {122            _.pluck(cookies, 'name').should.not.include(newCookie.name);123            _.pluck(cookies, 'value').should.not.include(newCookie.value);124          }).then(function () {125            return driver126              .setCookie(newCookie)127              .allCookies();128          }).then(function (cookies) {129            _.pluck(cookies, 'name').should.include(newCookie.name);130            _.pluck(cookies, 'value').should.include(newCookie.value);131          }).then(function () {132            return driver133              .deleteAllCookies()134              .allCookies();135          }).then(function (cookies) {136            cookies.length.should.equal(0);137          }).nodeify(done);138      });139    });140  });...

Full Screen

Full Screen

safari-cookie-e2e-specs.js

Source:safari-cookie-e2e-specs.js Github

copy

Full Screen

...22  });23  describe('within iframe webview', function () {24    it('should be able to get cookies for a page with none', async () => {25      await driver.get(GUINEA_PIG_IFRAME_PAGE);26      await driver.deleteAllCookies();27      await driver.get(GUINEA_PIG_IFRAME_PAGE);28      let cookies = await driver.allCookies();29      cookies.should.have.length(0);30    });31  });32  describe('within webview', function () {33    const newCookie = {34      name: 'newcookie',35      value: 'i am new here'36    };37    const oldCookie1 = {38      name: 'guineacookie1',39      value: 'i am a cookie value'40    };41    const oldCookie2 = {42      name: 'guineacookie2',43      value: 'cookié2'44    };45    let doesIncludeCookie = function (cookies, cookie) {46      cookies.map((c) => c.name).should.include(cookie.name);47      cookies.map((c) => c.value).should.include(cookie.value);48    };49    let doesNotIncludeCookie = function (cookies, cookie) {50      cookies.map((c) => c.name).should.not.include(cookie.name);51      cookies.map((c) => c.value).should.not.include(cookie.value);52    };53    beforeEach(async () => {54      await driver.get(GUINEA_PIG_PAGE);55    });56    it('should be able to get cookies for a page', async () => {57      let cookies = await driver.allCookies();58      cookies.length.should.equal(2);59      doesIncludeCookie(cookies, oldCookie1);60      doesIncludeCookie(cookies, oldCookie2);61    });62    it('should be able to set a cookie for a page', async () => {63      await driver.deleteCookie(newCookie.name);64      let cookies = await driver.allCookies();65      doesNotIncludeCookie(cookies, newCookie);66      await driver.setCookie(newCookie);67      cookies = await driver.allCookies();68      doesIncludeCookie(cookies, newCookie);69      // should not clobber old cookies70      doesIncludeCookie(cookies, oldCookie1);71      doesIncludeCookie(cookies, oldCookie2);72    });73    it('should be able to set a cookie with expiry', async () => {74      let expiredCookie = _.defaults({75        expiry: parseInt(Date.now() / 1000, 10) - 1000 // set cookie in past76      }, newCookie);77      await driver.deleteCookie(expiredCookie.name);78      let cookies = await driver.allCookies();79      doesNotIncludeCookie(cookies, expiredCookie);80      await driver.setCookie(expiredCookie);81      cookies = await driver.allCookies();82      // should not include cookie we just added because of expiry83      doesNotIncludeCookie(cookies, expiredCookie);84      // should not clobber old cookies85      doesIncludeCookie(cookies, oldCookie1);86      doesIncludeCookie(cookies, oldCookie2);87    });88    it('should be able to delete one cookie', async () => {89      await driver.deleteCookie(newCookie.name);90      let cookies = await driver.allCookies();91      doesNotIncludeCookie(cookies, newCookie);92      await driver.setCookie(newCookie);93      cookies = await driver.allCookies();94      doesIncludeCookie(cookies, newCookie);95      await driver.deleteCookie(newCookie.name);96      cookies = await driver.allCookies();97      doesNotIncludeCookie(cookies, newCookie);98      doesIncludeCookie(cookies, oldCookie1);99      doesIncludeCookie(cookies, oldCookie2);100    });101    it('should be able to delete all cookies', async () => {102      await driver.deleteCookie(newCookie.name);103      let cookies = await driver.allCookies();104      doesNotIncludeCookie(cookies, newCookie);105      await driver.setCookie(newCookie);106      cookies = await driver.allCookies();107      doesIncludeCookie(cookies, newCookie);108      await driver.deleteAllCookies();109      cookies = await driver.allCookies();110      cookies.length.should.equal(0);111      doesNotIncludeCookie(cookies, oldCookie1);112      doesNotIncludeCookie(cookies, oldCookie2);113    });114  });...

Full Screen

Full Screen

cookie.test.js

Source:cookie.test.js Github

copy

Full Screen

...41   * https://macacajs.github.io/macaca-wd/#deleteAllCookies42   */43  describe('deleteAllCookies', async () => {44    it('should work', async () => {45      await driver.deleteAllCookies();46      assert.equal(server.ctx.url, '/wd/hub/session/sessionId/cookie');47      assert.equal(server.ctx.method, 'DELETE');48      assert.deepEqual(server.ctx.request.body, {});49      assert.deepEqual(server.ctx.response.body, {50        sessionId: 'sessionId',51        status: 0,52        value: ''53      });54    });55  });56  /**57   * https://macacajs.github.io/macaca-wd/#deleteCookie58   */59  describe('deleteCookie', async () => {...

Full Screen

Full Screen

driver-service.js

Source:driver-service.js Github

copy

Full Screen

1'use strict';2const wd = require("wd");3const consoleLog = require('../helpers/console-log');4const driverService = require('./driver-service');5const fs = require('fs');6const driverInit = (options, done) => {7  const driver = wd.promiseChainRemote(options.serverConfig);8  require("../helpers/logging").configure(driver);9  let time = 0;10  function recInit() {11    time++;12    driver.init(options.desired, (err, sessionID, capabilities) => {13      if (err && (time < 5)) {14        consoleLog(err);15        setTimeout(function () {16          recInit();17        }, 62000);18      } else done(driver);19    });20  }21  recInit();22};23const driverQuit = (driver, suitePassed, sauceLabs, done) => {24  return driver25    .deleteAllCookies()26    .close()27    .quit()28    .finally(function () {29      if (sauceLabs) {30        return driver.sauceJobStatus(suitePassed, (err) => {31          if (err) consoleLog(err);32          done();33        });34      } else done();35    });36};37const driverAssure = (driver, options, done) => {38  driver.status((err, status) => {39    if (err) {40      consoleLog('RE-INIT A SESSION');41      driver.quit();42      driverService.init(options, (wd) => done(wd));43    } else done(driver);44  });45};46const takeScreenshot = (driver, site) => {47  driver.takeScreenshot((err, screenShot) => {48    const date = new Date();49    const fileName = `${site}_${date}.png`;50    consoleLog(fileName);51    consoleLog(fileName);52    fs.writeFile(`./screenshot/${fileName}`, screenShot, 'base64', function(err){53      if (err) consoleLog(err);54    })55  })56};57module.exports = {58  init: driverInit,59  quit: driverQuit,60  assure: driverAssure,61  takeScreenshot: takeScreenshot...

Full Screen

Full Screen

nonElementRelated.js

Source:nonElementRelated.js Github

copy

Full Screen

...20    driver.navigate().back();21    // Add a cookie to browser session22    driver.addCookie({'foo':'bar'});23    // Clear all cookies from browser session24    driver.deleteAllCookies();25    // Execute a javascript command26    driver.executeScript('javascript function');27    // Return page source28    driver.getPageSource();29    // Return current page url30    driver.getCurrentUrl();...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1const wd = require('wd');2const chai = require('chai');3const chaiAsPromised = require('chai-as-promised');4chai.use(chaiAsPromised);5const should = chai.should();6const assert = chai.assert;7const expect = chai.expect;8const caps = {9};10driver.init(caps).then(function () {11  return driver.deleteAllCookies();12}).then(function () {13  console.log('Cookies deleted successfully');14});15[debug] [W3C (f1a4c0e1)] Calling AppiumDriver.deleteAllCookies() with args: [null,null]16[debug] [W3C (f1a4c0e1)] Encountered internal error running command: Error: Method ‘deleteAllCookies’ has not yet been implemented17[debug] [W3C (f1a4c0e1)]     at XCUITestDriver.executeCommand (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/lib/commands/execute.js:28:13)18[debug] [W3C (f1a4c0e1)]     at AppiumDriver.executeCommand (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/lib/appium.js:559:35)19[debug] [W3C (f1a4c0e1)]     at processTicksAndRejections (internal/process/task_queues.js:97:5)20[debug] [W3C (f1a4c0e1)]     at asyncHandler (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium

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  await client.deleteAllCookies();10  await client.deleteSession();11}12main();13const wdio = require("webdriverio");14const assert = require("assert");15const opts = {16  capabilities: {17  },18};19async function main() {20  const client = await wdio.remote(opts);21  await client.deleteAllCookies();22  await client.deleteSession();23}24main();25deleteAllCookies()26deleteAllCookies()27deleteAllCookies()28deleteAllCookies()

Full Screen

Using AI Code Generation

copy

Full Screen

1const wdio = require("webdriverio");2const opts = {3  capabilities: {4  }5};6async function main() {7  const client = await wdio.remote(opts);8  await client.deleteAllCookies();9  await client.deleteSession();10}11main();

Full Screen

Using AI Code Generation

copy

Full Screen

1const wd = require('wd');2const chai = require('chai');3const chaiAsPromised = require('chai-as-promised');4chai.use(chaiAsPromised);5const expect = chai.expect;6const assert = chai.assert;7const should = chai.should();8const caps = {9};10driver.init(caps).then(async () => {11  await driver.deleteAllCookies();12  const cookies = await driver.getCookies();13  assert.equal(cookies.length, 0);14  await driver.quit();15});

Full Screen

Using AI Code Generation

copy

Full Screen

1const wd = require('wd');2const chai = require('chai');3const chaiAsPromised = require('chai-as-promised');4const chaiExpect = chai.expect;5chai.use(chaiAsPromised);6const assert = chai.assert;7const path = require('path');8const { exec } = require('child_process');9const serverConfig = {10};11const caps = {12  app: path.resolve(__dirname, '../apps/UICatalog.app.zip'),13};14async function main() {15  const driver = await wd.promiseChainRemote(serverConfig);16  await driver.init(caps);17  await driver.deleteAllCookies();18  await driver.quit();19}20main();21const wd = require('wd');22const chai = require('chai');23const chaiAsPromised = require('chai-as-promised');24const chaiExpect = chai.expect;25chai.use(chaiAsPromised);26const assert = chai.assert;27const path = require('path');28const { exec } = require('child_process');29const serverConfig = {30};31const caps = {32  app: path.resolve(__dirname, '../apps/UICatalog.app.zip'),33};34async function main() {35  const driver = await wd.promiseChainRemote(serverConfig);36  await driver.init(caps);37  await driver.deleteAllCookies();38  await driver.quit();39}40main();41const wd = require('wd');42const chai = require('chai');43const chaiAsPromised = require('chai-as-promised');44const chaiExpect = chai.expect;45chai.use(chaiAsPromised);46const assert = chai.assert;47const path = require('path');48const { exec } = require('child_process');49const serverConfig = {

Full Screen

Using AI Code Generation

copy

Full Screen

1var webdriver = require('selenium-webdriver');2var driver = new webdriver.Builder()3    .forBrowser('selenium')4    .build();5driver.deleteAllCookies()6    .then(function() {7        console.log('Cookies deleted');8    })9    .catch(function(err) {10        console.log('Error deleting cookies: ' + err);11    });12driver.quit();

Full Screen

Using AI Code Generation

copy

Full Screen

1describe('Test', function() {2    it('should delete cookies', function() {3        browser.driver.deleteAllCookies();4    });5});6describe('Test', function() {7    it('should delete cookies', function() {8        browser.driver.deleteAllCookies();9    });10});11describe('Test', function() {12    it('should delete cookies', function() {13        browser.driver.deleteAllCookies();14    });15});16describe('Test', function() {17    it('should delete cookies', function() {18        browser.driver.deleteAllCookies();19    });20});21describe('Test', function() {22    it('should delete cookies', function() {23        browser.driver.deleteAllCookies();24    });25});26describe('Test', function() {27    it('should delete cookies', function() {28        browser.driver.deleteAllCookies();29    });30});31describe('Test', function() {32    it('should delete cookies', function() {33        browser.driver.deleteAllCookies();34    });35});36describe('Test', function() {37    it('should delete cookies', function() {38        browser.driver.deleteAllCookies();39    });40});41describe('Test', function() {42    it('should delete cookies', function() {43        browser.driver.deleteAllCookies();44    });45});46describe('Test', function() {47    it('should delete cookies', function() {48        browser.driver.deleteAllCookies();49    });50});51describe('Test', function() {52    it('should delete cookies', function() {53        browser.driver.deleteAllCookies();54    });55});56describe('Test', function() {57    it('should delete cookies', function() {58        browser.driver.deleteAllCookies();

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