Best JavaScript code snippet using webdriverio-monorepo
navigation-guards.js
Source:navigation-guards.js
...11 // alert commands not available in phantom12 if (process.env.PHANTOMJS) return13 browser14 .click('li:nth-child(2) a')15 .dismissAlert()16 .waitFor(100)17 .dismissAlert()18 .assert.urlEquals('http://localhost:8080/navigation-guards/')19 .assert.containsText('.view', 'home')20 .click('li:nth-child(2) a')21 .acceptAlert()22 .assert.urlEquals('http://localhost:8080/navigation-guards/foo')23 .assert.containsText('.view', 'foo')24 .click('li:nth-child(3) a')25 .dismissAlert()26 .waitFor(100)27 .dismissAlert()28 .assert.urlEquals('http://localhost:8080/navigation-guards/foo')29 .assert.containsText('.view', 'foo')30 .click('li:nth-child(3) a')31 .acceptAlert()32 .assert.urlEquals('http://localhost:8080/navigation-guards/bar')33 .assert.containsText('.view', 'bar')34 .click('li:nth-child(2) a')35 .dismissAlert()36 .waitFor(100)37 .acceptAlert() // redirect to baz38 .assert.urlEquals('http://localhost:8080/navigation-guards/baz')39 .assert.containsText('.view', 'baz (not saved)')40 .click('li:nth-child(2) a')41 .dismissAlert() // not saved42 .assert.urlEquals('http://localhost:8080/navigation-guards/baz')43 .assert.containsText('.view', 'baz (not saved)')44 .click('li:nth-child(2) a')45 .acceptAlert() // not saved, force leave46 .waitFor(100)47 .dismissAlert() // should trigger foo's guard48 .waitFor(100)49 .dismissAlert()50 .assert.urlEquals('http://localhost:8080/navigation-guards/baz')51 .assert.containsText('.view', 'baz')52 .click('li:nth-child(2) a')53 .acceptAlert()54 .waitFor(100)55 .acceptAlert()56 .assert.urlEquals('http://localhost:8080/navigation-guards/foo')57 .assert.containsText('.view', 'foo')58 // test initial visit59 browser60 .url('http://localhost:8080/navigation-guards/foo')61 .dismissAlert()62 .waitFor(100)63 .dismissAlert()64 // should redirect to root65 .assert.urlEquals('http://localhost:8080/navigation-guards/')66 // and should not render anything67 .assert.elementNotPresent('.view')68 .url('http://localhost:8080/navigation-guards/foo')69 .acceptAlert()70 .assert.urlEquals('http://localhost:8080/navigation-guards/foo')71 .assert.containsText('.view', 'foo')72 .url('http://localhost:8080/navigation-guards/bar')73 .dismissAlert()74 .waitFor(100)75 .dismissAlert()76 // should redirect to root77 .assert.urlEquals('http://localhost:8080/navigation-guards/')78 // and should not render anything79 .assert.elementNotPresent('.view')80 .url('http://localhost:8080/navigation-guards/bar')81 .acceptAlert()82 .assert.urlEquals('http://localhost:8080/navigation-guards/bar')83 .assert.containsText('.view', 'bar')84 },85 'navigation guards': function (browser) {86 browser87 // back to home88 .url('http://localhost:8080/navigation-guards/')89 .waitForElementVisible('#app', 1000)...
dismiss.spec.js
Source:dismiss.spec.js
1jest.mock("../../src/worker/services/appiumService");2const { appiumService } = require("../../src/worker/services/appiumService");3const { AppiumError, ActionError } = require("../../src/worker/errors");4const { alert } = require("../../main");5afterEach(() => {6 jest.resetAllMocks();7 jest.restoreAllMocks();8});9it("executes the 'dismissAlert' method on the Appium Service", async () => {10 const text = [ "Alert", "Hello World!" ].join("\n");11 jest.spyOn(appiumService, "getAlertText").mockResolvedValue(text);12 jest.spyOn(appiumService, "dismissAlert").mockResolvedValue(null);13 jest.spyOn(appiumService, "getAlertVisible").mockResolvedValue(false);14 await alert.dismiss();15 expect(appiumService.getAlertText).toHaveBeenCalledTimes(1);16 expect(appiumService.dismissAlert).toHaveBeenCalledTimes(1);17 expect(appiumService.getAlertVisible).toHaveBeenCalledTimes(1);18 expect(appiumService.getAlertVisible).toHaveBeenCalledWith({ text });19});20it("polls the 'getAlertVisible' method on the Appium Service until the alert is hidden", async () => {21 const text = [ "Alert", "Hello World!" ].join("\n");22 jest.spyOn(appiumService, "getAlertText").mockResolvedValue(text);23 jest.spyOn(appiumService, "dismissAlert").mockResolvedValue(null);24 jest.spyOn(appiumService, "getAlertVisible")25 .mockResolvedValueOnce(true)26 .mockResolvedValueOnce(true)27 .mockResolvedValueOnce(true)28 .mockResolvedValueOnce(false);29 await alert.dismiss();30 expect(appiumService.getAlertText).toHaveBeenCalledTimes(1);31 expect(appiumService.dismissAlert).toHaveBeenCalledTimes(1);32 expect(appiumService.getAlertVisible).toHaveBeenCalledTimes(4);33 expect(appiumService.getAlertVisible).toHaveBeenCalledWith({ text });34});35it("throws an ActionError if no alert is present", async () => {36 const error = new AppiumError("No alert present", 27);37 jest.spyOn(appiumService, "getAlertText").mockRejectedValue(error);38 expect.assertions(5);39 try {40 await alert.dismiss();41 } catch (err) {42 expect(err).toBeInstanceOf(ActionError);43 expect(err).toHaveProperty("message", "Failed to dismiss alert. No alert present.");44 }45 expect(appiumService.getAlertText).toHaveBeenCalledTimes(1);46 expect(appiumService.dismissAlert).toHaveBeenCalledTimes(0);47 expect(appiumService.getAlertVisible).toHaveBeenCalledTimes(0);48});49it("throws an ActionError if dismiss the alert fails", async () => {50 const error = new AppiumError("Request error.", 3);51 const text = [ "Alert", "Hello World!" ].join("\n");52 jest.spyOn(appiumService, "getAlertText").mockResolvedValue(text);53 jest.spyOn(appiumService, "dismissAlert").mockRejectedValue(error);54 expect.assertions(5);55 try {56 await alert.dismiss();57 } catch (err) {58 expect(err).toBeInstanceOf(ActionError);59 expect(err).toHaveProperty("message", "Failed to dismiss alert. Alert still present.");60 }61 expect(appiumService.getAlertText).toHaveBeenCalledTimes(1);62 expect(appiumService.dismissAlert).toHaveBeenCalledTimes(1);63 expect(appiumService.getAlertVisible).toHaveBeenCalledTimes(0);64});65it("throws an ActionError if alert is still visible after polling", async () => {66 jest.setTimeout(6000);67 const text = [ "Alert", "Hello World!" ].join("\n");68 jest.spyOn(appiumService, "getAlertText").mockResolvedValue(text);69 jest.spyOn(appiumService, "dismissAlert").mockResolvedValue(null);70 jest.spyOn(appiumService, "getAlertVisible").mockResolvedValue(true);71 expect.assertions(5);72 try {73 await alert.dismiss();74 } catch (err) {75 expect(err).toBeInstanceOf(ActionError);76 expect(err).toHaveProperty("message", "Failed to dismiss alert. Alert still visible after 5000ms.");77 }78 expect(appiumService.getAlertText).toHaveBeenCalledTimes(1);79 expect(appiumService.dismissAlert).toHaveBeenCalledTimes(1);80 expect(appiumService.getAlertVisible).toHaveBeenCalled();81});82it("propagates other types of errors", async () => {83 const error = new Error("Something went wrong.");84 const text = [ "Alert", "Hello World!" ].join("\n");85 jest.spyOn(appiumService, "getAlertText").mockResolvedValue(text);86 jest.spyOn(appiumService, "dismissAlert").mockRejectedValue(error);87 jest.spyOn(appiumService, "getAlertVisible").mockResolvedValue(true);88 expect.assertions(5);89 try {90 await alert.dismiss();91 } catch (err) {92 expect(err).toBeInstanceOf(error.constructor);93 expect(err).toHaveProperty("message", error.message);94 }95 expect(appiumService.getAlertText).toHaveBeenCalledTimes(1);96 expect(appiumService.dismissAlert).toHaveBeenCalledTimes(1);97 expect(appiumService.getAlertVisible).toHaveBeenCalledTimes(0);...
px-alert-message-dismiss-tests.js
Source:px-alert-message-dismiss-tests.js
1describe('Alert Dismiss', function() {2 it('`visible` is initially set to true when the alert message attaches', function() {3 var dismissAlert = fixture('PxDismissAlertMessage');4 flush(function() {5 expect(dismissAlert.visible).to.equal(true);6 });7 });8 it('`visible` is initially set to false when the alert message attaches if `disableAutoShow` is set', function() {9 var dismissAlert = fixture('PxDisableAutoShowAlertMessage');10 flush(function() {11 expect(dismissAlert.visible).to.equal(false);12 });13 });14 it('`visible` is set to false when the alert message is dismissed', function(done) {15 var dismissAlert = fixture('PxDismissAlertMessage');16 flush(function() {17 var closeBtn = Polymer.dom(dismissAlert.root).querySelector('#dismissButton');18 closeBtn.click();19 expect(dismissAlert.visible).to.equal(false);20 done();21 });22 });23 it('message is shown and hidden when `visible` is set via JavaScript', function(done) {24 var dismissAlert = fixture('PxDismissAlertMessage');25 flush(function() {26 dismissAlert.visible = false;27 var alert = Polymer.dom(dismissAlert.root).querySelector('#alert');28 // Wait 500ms for each animation to finish29 setTimeout(function() {30 expect(window.getComputedStyle(alert).display).to.equal('none');31 dismissAlert.visible = true;32 }, 500);33 setTimeout(function() {34 expect(window.getComputedStyle(alert).display).to.equal('flex');35 done();36 }, 1000);37 });38 });39 it('alert message is automatically dismissed after the `autoDismiss` timeout', function(done) {40 var dismissAlert = fixture('PxAutoDismissAlertShort');41 flush(function() {42 var alert = Polymer.dom(dismissAlert.root).querySelector('#alert');43 expect(window.getComputedStyle(alert).display).to.equal('flex');44 setTimeout(function() {45 expect(window.getComputedStyle(alert).display).to.equal('none');46 done();47 }, 1200); // wait long enough for autoDismiss timeout AND animation to finish48 });49 });50 it('alert message is automatically dismissed after the `autoDismiss` timeout when it is re-opened', function(done) {51 var dismissAlert = fixture('PxAutoDismissAlertShort');52 flush(function() {53 var alert = Polymer.dom(dismissAlert.root).querySelector('#alert');54 dismissAlert.visible = false;55 setTimeout(function() {56 dismissAlert.visible = true;57 }, 100);58 setTimeout(function() {59 expect(window.getComputedStyle(alert).display).to.equal('none');60 done();61 }, 1000); // wait long enough for autoDismiss timeout AND animation to finish62 });63 });64 it('alert message is hidden after px-alert-message-hidden event is fired when dismiss X is tapped', function(done) {65 var closeBtnAlert = fixture('PxBasicAlertMessage');66 var handler = closeBtnAlert.addEventListener('px-alert-message-hidden', function(evt) {67 expect(closeBtnAlert.querySelector('#alert').classList.contains('alert-message--visible')).equal(false);68 assert.equal(evt.type, 'px-alert-message-hidden', 'event name should be px-alert-message-hidden');69 closeBtnAlert.removeEventListener('px-alert-message-hidden', handler);70 done();71 });72 closeBtnAlert.action = "dismiss";73 flush(function(){74 closeBtnAlert.querySelector('.action .dismiss').click();75 });76 });77 it('alert message is hidden after px-alert-message-hidden event is fired when OK button is tapped', function(done) {78 var okBtnAlert = fixture('PxBasicAlertMessage');79 var handler = okBtnAlert.addEventListener('px-alert-message-hidden', function(evt) {80 expect(okBtnAlert.querySelector('#alert').classList.contains('alert-message--visible')).equal(false);81 assert.equal(evt.type, 'px-alert-message-hidden', 'event name should be px-alert-message-hidden');82 okBtnAlert.removeEventListener('px-alert-message-hidden', handler);83 done();84 });85 okBtnAlert.action = "acknowledge";86 flush(function(){87 okBtnAlert.querySelector('.action button').click();88 });89 });...
alerts.js
Source:alerts.js
...14 function ($rootScope, $timeout) {15 return {16 restrict: "E",17 replace: true,18 template: "<div ng-show='alert' class='alert alert-main alert-{{alert.type}} fade in push-x-10' ng-click='dismissAlert()'>"+19 "<button type='button' class='close' ng-click='dismissAlert()'>Ã</button>"+20 "<strong>{{ alert.title }}:</strong> {{ alert.msg }}</div>",21 link: function($scope, $element){ 22 $scope.dismissAlert = function(){23 $scope.alert = false;24 };25 $rootScope.$on("showAlert", function (event, alert) {26 $scope.alert = alert;27 event.stopPropagation();28 $timeout($scope.dismissAlert, 6000);29 });30 }31 };32 }33 ])34 /**35 * This directive will abstract display of transactional alerts.36 * Place it right above the <div class="content-body"></div> tag on the page where you37 * want your alert to appear38 * Usage: <mammoth-alerts></mammoth-alerts>39 */40 .directive("viewAlert",[function () {41 return {42 restrict: "E",43 replace: true,44 template: "<div ng-show='view_alert' class='alert alert-{{view_alert.type}} fade in push-y-10' ng-click='dismissAlert()'>"+45 "<button type='button' class='close' ng-click='dismissAlert()'>Ã</button>"+46 "<strong>{{ view_alert.title }}:</strong> {{ view_alert.msg }}</div>", 47 link: function($scope){48 $scope.dismissAlert = function(){49 $scope.view_alert = false;50 };51 }52 };53 }])54 /**55 * These are alerts ment to display messages for the system user as they do their56 * tasks. e.g. a success message to inform the user that an action was successful or not57 * Usage:58 * In your controller:59 * Call the service with the following params:...
handleModal.spec.js
Source:handleModal.spec.js
1import handleModal from 'src/support/action/handleModal';2describe('handleModal', () => {3 beforeEach(() => {4 global.browser = {5 acceptAlert: jest.fn(),6 dismissAlert: jest.fn(),7 getAlertText: jest.fn(),8 };9 });10 it('should call acceptAlert on the browser to close a alertbox', async () => {11 await handleModal('accept', 'alertbox');12 expect(global.browser.acceptAlert).toHaveBeenCalledTimes(1);13 expect(global.browser.dismissAlert).not.toHaveBeenCalled();14 expect(global.browser.getAlertText).not.toHaveBeenCalled();15 });16 it('should call acceptAlert on the browser to close a confirmbox', async () => {17 await handleModal('accept', 'confirmbox');18 expect(global.browser.acceptAlert).toHaveBeenCalledTimes(1);19 expect(global.browser.dismissAlert).not.toHaveBeenCalled();20 expect(global.browser.getAlertText).not.toHaveBeenCalled();21 });22 it('should call acceptAlert on the browser to close a prompt', async () => {23 await handleModal('accept', 'prompt');24 expect(global.browser.acceptAlert).toHaveBeenCalledTimes(1);25 expect(global.browser.dismissAlert).not.toHaveBeenCalled();26 expect(global.browser.getAlertText).not.toHaveBeenCalled();27 });28 it('should call acceptAlert on the browser to dismiss a alertbox', async () => {29 await handleModal('dismiss', 'alertbox');30 expect(global.browser.acceptAlert).toHaveBeenCalledTimes(1);31 expect(global.browser.dismissAlert).not.toHaveBeenCalled();32 expect(global.browser.getAlertText).not.toHaveBeenCalled();33 });34 it(35 'should call dismissAlert on the browser to dismiss a confirmbox',36 async () => {37 await handleModal('dismiss', 'confirmbox');38 expect(global.browser.dismissAlert).toHaveBeenCalledTimes(1);39 expect(global.browser.acceptAlert).not.toHaveBeenCalled();40 expect(global.browser.getAlertText).not.toHaveBeenCalled();41 }42 );43 it('should call dismissAlert on the browser to dismiss a prompt', async () => {44 await handleModal('dismiss', 'prompt');45 expect(global.browser.dismissAlert).toHaveBeenCalledTimes(1);46 expect(global.browser.acceptAlert).not.toHaveBeenCalled();47 expect(global.browser.getAlertText).not.toHaveBeenCalled();48 });...
Using AI Code Generation
1browser.dismissAlert();2browser.acceptAlert();3browser.getAlertText();4browser.setAlertText('text');5browser.getOrientation();6browser.setOrientation('LANDSCAPE');7browser.setOrientation('PORTRAIT');8browser.getGeoLocation();9browser.setGeoLocation(0,0,0);10browser.getLogTypes();11browser.getLog('logtype');12browser.getLog('logtype', function(err, logEntriesArray) {13 console.log(logEntriesArray);14});15browser.getAvailableLogTypes();16browser.getLog('logtype');17browser.getLog('logtype', function(err, logEntriesArray) {18 console.log(logEntriesArray);19});20browser.getAvailableLogTypes();21browser.getLog('logtype');22browser.getLog('logtype', function(err, logEntriesArray) {23 console.log(logEntriesArray);24});25browser.getAvailableLogTypes();26browser.getLog('logtype');27browser.getLog('logtype', function(err, logEntriesArray) {28 console.log(logEntriesArray);29});
Using AI Code Generation
1browser.dismissAlert();2browser.acceptAlert();3browser.getAlertText();4browser.sendAlertText('Hello');5browser.isAlertOpen();6browser.setCookies({name: 'test', value: '123'});7browser.getCookies();8browser.deleteCookies();9browser.deleteCookie('test');10browser.setWindowSize(1024, 768);11browser.getWindowSize();12browser.setWindowPosition(0, 0);13browser.getWindowPosition();14browser.maximizeWindow();15browser.getTitle();16browser.getUrl();17browser.getSource();18browser.getCssProperty('body', 'font-size');19browser.getElementSize('body');20browser.getElementRect('body');21browser.getHTML('body');22browser.getText('body');23browser.getValue('body');24browser.getTagName('body');25browser.getAttribute('body', 'class');26browser.hasFocus('body');27browser.isEnabled('body');28browser.isVisible('body');
Using AI Code Generation
1browser.dismissAlert();2browser.acceptAlert();3browser.getAlertText();4browser.sendAlertText('Hello World');5browser.waitUntilAlert(5000);6browser.isAlertOpen();7browser.getAlertSize();
Using AI Code Generation
1describe('Dismiss alert', function() {2 it('should dismiss the alert', function() {3 browser.frame(0);4 browser.click('#tryhome > button');5 browser.dismissAlert();6 });7});
Using AI Code Generation
1describe('My First Test', () => {2 it('Does not do much!', () => {3 browser.switchToFrame(0);4 browser.click('#myBtn');5 browser.dismissAlert();6 browser.pause(5000);7 });8});
Using AI Code Generation
1describe('Test', function() {2 it('should dismiss alert', function () {3 browser.frame(0);4 browser.click('#demo');5 browser.alertDismiss();6 });7});
Using AI Code Generation
1describe('Test Alert', function() {2 it('should dismiss alert', function () {3 browser.click('#button1');4 browser.dismissAlert();5 });6});7{8 "scripts": {9 },10 "devDependencies": {11 }12}13exports.config = {14 capabilities: [{15 }],16};17{18 "dependencies": {19 "accepts": {20 "requires": {21 }22 },23 "ansi-escapes": {24 },25 "ansi-regex": {
Using AI Code Generation
1describe('webdriver.io page', () => {2 it('should dismiss alert', () => {3 browser.alertAccept()4 browser.pause(3000)5 })6})7describe('webdriver.io page', () => {8 it('should accept alert', () => {9 browser.alertAccept()10 browser.pause(3000)11 })12})13describe('webdriver.io page', () => {14 it('should dismiss alert', () => {15 browser.alertDismiss()16 browser.pause(3000)17 })18})19describe('webdriver.io page', () => {20 it('should accept alert', () => {21 browser.alertAccept()22 browser.pause(3000)23 })24})
Wondering what could be a next-gen browser and mobile test automation framework that is also simple and concise? Yes, that’s right, it's WebdriverIO. Since the setup is very easy to follow compared to Selenium testing configuration, you can configure the features manually thereby being the center of attraction for automation testing. Therefore the testers adopt WedriverIO to fulfill their needs of browser testing.
Learn to run automation testing with WebdriverIO tutorial. Go from a beginner to a professional automation test expert with LambdaTest WebdriverIO tutorial.
Running Your First Automation Script - Learn the steps involved to execute your first Test Automation Script using WebdriverIO since the setup is very easy to follow and the features can be configured manually.
Selenium Automation With WebdriverIO - Read more about automation testing with WebdriverIO and how it supports both browsers and mobile devices.
Browser Commands For Selenium Testing - Understand more about the barriers faced while working on your Selenium Automation Scripts in WebdriverIO, the ‘browser’ object and how to use them?
Handling Alerts & Overlay In Selenium - Learn different types of alerts faced during automation, how to handle these alerts and pops and also overlay modal in WebdriverIO.
How To Use Selenium Locators? - Understand how Webdriver uses selenium locators in a most unique way since having to choose web elements very carefully for script execution is very important to get stable test results.
Deep Selectors In Selenium WebdriverIO - The most popular automation testing framework that is extensively adopted by all the testers at a global level is WebdriverIO. Learn how you can use Deep Selectors in Selenium WebdriverIO.
Handling Dropdown In Selenium - Learn more about handling dropdowns and how it's important while performing automated browser testing.
Automated Monkey Testing with Selenium & WebdriverIO - Understand how you can leverage the amazing quality of WebdriverIO along with selenium framework to automate monkey testing of your website or web applications.
JavaScript Testing with Selenium and WebdriverIO - Speed up your Javascript testing with Selenium and WebdriverIO.
Cross Browser Testing With WebdriverIO - Learn more with this step-by-step tutorial about WebdriverIO framework and how cross-browser testing is done with WebdriverIO.
Get 100 minutes of automation test minutes FREE!!