Best JavaScript code snippet using playwright-internal
CalendarVisual.spec.js
Source:CalendarVisual.spec.js
...14 function singleDaySelection(){15 // initial loading16 it("should load test page", function () {17 _initCalendar("1");18 expect(takeScreenshot(oCal)).toLookAs("000_initial_Rendering"); // January 2015 rendered, 2 selected, no focus19 });20 it("should select a date by click", function () {21 _pressDate(sCalId, "20150120"); // 20 selected an focused (2 unselected)22 expect(takeScreenshot(oCal)).toLookAs("001_press_date");23 });24 it("should select a date in other month by click to other month", function () {25 _pressDate(sCalId, "20141230"); // month says on January 2015, 20. January focused and 30. December selected26 expect(takeScreenshot(oCal)).toLookAs("002_press_date_other_month");27 });28 it("should show the previous month by click on prev-button", function () {29 _initCalendar("1");30 _pressPrev(sCalId); // December 2014 shown, 31 focus31 expect(takeScreenshot(oCal)).toLookAs("003_press_previous");32 });33 it("should show the next month by click on next-button", function () {34 _initCalendar("1");35 _pressNext(sCalId); // February 2015 shown, 1 focus36 expect(takeScreenshot(oCal)).toLookAs("004_press_next");37 });38 it("should handle the month picker", function () {39 _initCalendar("1");40 _pressMonthPicker(sCalId); // month picker opened, January selected and focused41 expect(takeScreenshot(oCal)).toLookAs("005_MonthPicker");42 _pressPrev(sCalId); // year changed to 201443 expect(takeScreenshot(oCal)).toLookAs("006_MonthPicker_Previous");44 _pressMonth(sCalId, "1"); // month picker closed, February 2014 shown, 2 focused45 if (browser.testrunner.runtime.platformName != "android" && browser.testrunner.runtime.platformName != "ios") {46 browser.actions().mouseMove(element(by.css("#B1"))).perform();47 expect(takeScreenshot(oCal)).toLookAs("007_MonthPicker_Select");48 }49 });50 it("should handle the year picker", function () {51 _initCalendar("1");52 _pressYearPicker(sCalId); // year Picker shown, 2015 selected and focused53 expect(takeScreenshot(oCal)).toLookAs("008_YearPicker");54 _pressPrev(sCalId); // years changed to 1985-2004, 1995 focused55 expect(takeScreenshot(oCal)).toLookAs("009_YearPicker_Previous");56 _pressYear(sCalId, "1990"); // year picker closed, January 1990 shown, 2 focused57 if (browser.testrunner.runtime.platformName != "android" && browser.testrunner.runtime.platformName != "ios") {58 browser.actions().mouseMove(element(by.css("#B1"))).perform();59 expect(takeScreenshot(oCal)).toLookAs("010_YearPicker_Select");60 }61 });62 keyboardTest();63 }64 function keyboardTest(){65 it("should handle keyboard navigation", function () {66 if (browser.testrunner.runtime.platformName != "android" && browser.testrunner.runtime.platformName != "ios" && browser.testrunner.runtime.browserName != "safari") {67 // only on desktop and not in Safari (sendKeys needs an Element in Safari, so test makes no sense there)68 _initCalendar("1");69 browser.actions().sendKeys(protractor.Key.ARROW_DOWN).perform(); // focus on 970 expect(takeScreenshot(oCal)).toLookAs("011_keyboard_Arrow_Down");71 browser.actions().sendKeys(protractor.Key.ARROW_RIGHT).perform(); // focus on 1072 expect(takeScreenshot(oCal)).toLookAs("012_keyboard_Arrow_Right");73 browser.actions().sendKeys(protractor.Key.ARROW_UP).perform(); // focus on 374 expect(takeScreenshot(oCal)).toLookAs("013_keyboard_Arrow_Up");75 browser.actions().sendKeys(protractor.Key.ARROW_LEFT).perform(); // focus on 276 expect(takeScreenshot(oCal)).toLookAs("014_keyboard_Arrow_Left");77 browser.actions().sendKeys(protractor.Key.ARROW_LEFT).perform(); // focus on 178 browser.actions().sendKeys(protractor.Key.ENTER).perform(); // 1 selected79 expect(takeScreenshot(oCal)).toLookAs("015_keyboard_Enter");80 browser.actions().sendKeys(protractor.Key.ARROW_LEFT).perform(); // switch to December, focus on 3181 expect(takeScreenshot(oCal)).toLookAs("016_keyboard_Arrow_Left_other_Month");82 browser.actions().sendKeys(protractor.Key.SPACE).perform(); // 31 selected83 expect(takeScreenshot(oCal)).toLookAs("017_keyboard_Space");84 browser.actions().sendKeys(protractor.Key.PAGE_UP).perform(); // switch to November, focus on 3085 expect(takeScreenshot(oCal)).toLookAs("018_keyboard_PAGE_Up");86 browser.actions().sendKeys(protractor.Key.PAGE_DOWN).perform(); // switch to December, focus on 3087 expect(takeScreenshot(oCal)).toLookAs("019_keyboard_PABE_Down");88 browser.actions().sendKeys(protractor.Key.TAB).perform(); // focus on month89 expect(takeScreenshot(oCal)).toLookAs("020_keyboard_Tab1");90 browser.actions().sendKeys(protractor.Key.TAB).perform(); // focus on year91 expect(takeScreenshot(oCal)).toLookAs("021_keyboard_Tab2");92 browser.actions().sendKeys(protractor.Key.TAB).perform(); // focus leaves calendar93 expect(takeScreenshot(oCal)).toLookAs("022_keyboard_Tab3");94 var sShiftTab = protractor.Key.chord(protractor.Key.SHIFT, protractor.Key.TAB);95 browser.actions().sendKeys(sShiftTab).perform(); // focus on year96 expect(takeScreenshot(oCal)).toLookAs("023_keyboard_Shift_Tab1");97 if (browser.testrunner.runtime.browserName != "ie") {98 browser.actions().sendKeys(sShiftTab).perform(); // focus on month99 expect(takeScreenshot(oCal)).toLookAs("024_keyboard_Shift_Tab2");100 browser.actions().sendKeys(sShiftTab).perform(); // focus on 30101 expect(takeScreenshot(oCal)).toLookAs("025_keyboard_Shift_Tab3");102 } else {103 // shift+Tab don't work in selenium on IE on year and month button - So try to get to the December 30104 element(by.id("__page0-title")).click();105 browser.actions().sendKeys(protractor.Key.TAB).perform();106 }107 }108 }, iDefaultTimeout);109 it("should handle keyboard navigation for MonthPicker", function () {110 // MonthPicker111 if (browser.testrunner.runtime.platformName != "android" && browser.testrunner.runtime.platformName != "ios" && browser.testrunner.runtime.browserName != "safari") {112 // only on desktop and not in Safari (sendKeys needs an Element in Safari, so test makes no sense there)113 browser.actions().sendKeys(protractor.Key.TAB).perform();114 browser.actions().sendKeys(protractor.Key.SPACE).perform(); // month picker open, focus on December115 expect(takeScreenshot(oCal)).toLookAs("026_keyboard_Month_Space");116 browser.actions().sendKeys(protractor.Key.ARROW_DOWN).perform(); // focus on March 2015117 expect(takeScreenshot(oCal)).toLookAs("027_keyboard_MonthPicker_Arrow_Down");118 browser.actions().sendKeys(protractor.Key.ARROW_RIGHT).perform(); // focus on April 2015119 expect(takeScreenshot(oCal)).toLookAs("028_keyboard_MonthPicker_Arrow_Right");120 browser.actions().sendKeys(protractor.Key.SPACE).perform(); // Month Picker closed, April displayed, focus on 30121 expect(takeScreenshot(oCal)).toLookAs("029_keyboard_MonthPicker_Space");122 browser.actions().sendKeys(protractor.Key.TAB).perform();123 browser.actions().sendKeys(protractor.Key.ENTER).perform(); // month picker open, focus on April124 expect(takeScreenshot(oCal)).toLookAs("030_keyboard_MonthPicker_Enter");125 browser.actions().sendKeys(protractor.Key.ARROW_UP).perform(); // focus on January126 expect(takeScreenshot(oCal)).toLookAs("031_keyboard_MonthPicker_Arrow_UP");127 browser.actions().sendKeys(protractor.Key.ESCAPE).perform(); // Month Picker closed, January displayed, focus on 30128 expect(takeScreenshot(oCal)).toLookAs("032_keyboard_MonthPicker_Escape");129 }130 }, iDefaultTimeout);131 it("should handle keyboard navigation for YearPicker", function () {132 // YearPicker133 if (browser.testrunner.runtime.platformName != "android" && browser.testrunner.runtime.platformName != "ios" && browser.testrunner.runtime.browserName != "safari") {134 // only on desktop and not in Safari (sendKeys needs an Element in Safari, so test makes no sense there)135 browser.actions().sendKeys(protractor.Key.TAB).perform();136 browser.actions().sendKeys(protractor.Key.TAB).perform();137 browser.actions().sendKeys(protractor.Key.SPACE).perform(); // year Picker open, focus on 2015138 expect(takeScreenshot(oCal)).toLookAs("033_keyboard_Year_Space");139 browser.actions().sendKeys(protractor.Key.ARROW_UP).perform(); // focus on 2011140 expect(takeScreenshot(oCal)).toLookAs("034_keyboard_YearPicker_Arrow_UP");141 browser.actions().sendKeys(protractor.Key.ARROW_LEFT).perform(); // focus on 2010142 expect(takeScreenshot(oCal)).toLookAs("035_keyboard_YearPicker_Arrow_Left");143 browser.actions().sendKeys(protractor.Key.ARROW_DOWN).perform(); // focus on 2014144 expect(takeScreenshot(oCal)).toLookAs("036_keyboard_YearPicker_Arrow_Down");145 browser.actions().sendKeys(protractor.Key.PAGE_UP).perform(); // years changed, focus on 1994146 expect(takeScreenshot(oCal)).toLookAs("037_keyboard_YearPicker_Page_UP");147 browser.actions().sendKeys(protractor.Key.ARROW_RIGHT).perform(); // focus on 1995148 expect(takeScreenshot(oCal)).toLookAs("038_keyboard_YearPicker_Arrow_Right");149 browser.actions().sendKeys(protractor.Key.SPACE).perform(); // Year Picker closed, January 1995 displayed, focus on 30150 expect(takeScreenshot(oCal)).toLookAs("039_keyboard_YearPicker_Space");151 browser.actions().sendKeys(protractor.Key.TAB).perform();152 browser.actions().sendKeys(protractor.Key.TAB).perform();153 browser.actions().sendKeys(protractor.Key.ENTER).perform(); // year Picker open, focus on 1995 (selected)154 expect(takeScreenshot(oCal)).toLookAs("040_keyboard_Year_ENTER");155 browser.actions().sendKeys(protractor.Key.PAGE_DOWN).perform(); // years changed, focus on 2015156 expect(takeScreenshot(oCal)).toLookAs("041_keyboard_YearPicker_Page_DOWN");157 browser.actions().sendKeys(protractor.Key.ARROW_RIGHT).perform();158 browser.actions().sendKeys(protractor.Key.ARROW_RIGHT).perform(); // focus on 2017159 expect(takeScreenshot(oCal)).toLookAs("042_keyboard_YearPicker_Arrow_Right2");160 browser.actions().sendKeys(protractor.Key.ARROW_DOWN).perform();161 browser.actions().sendKeys(protractor.Key.ARROW_DOWN).perform(); // years changed, focus on 2025162 expect(takeScreenshot(oCal)).toLookAs("043_keyboard_YearPicker_Arrow_Down2");163 browser.actions().sendKeys(protractor.Key.ESCAPE).perform(); // Year Picker closed, January 1995 displayed, focus on 30164 expect(takeScreenshot(oCal)).toLookAs("044_keyboard_YearPicker_Escape");165 _initCalendar("1");166 }167 });168 it("YearRangePicker looks OK", function() {169 _pressYearPicker(sCalId); // click the year button to open YearPicker170 _pressYearPicker(sCalId); // click the year button again to open YearRangePicker171 expect(takeScreenshot(oCal)).toLookAs("045_year_range_picker_displayed");172 });173 }174 function twoTypes(){175 it("should show calendar with two types", function () {176 _initCalendar("4");177 expect(takeScreenshot(oCal)).toLookAs("050_two_types");178 });179 }180 function widthSet(){181 it("should show calendar with a width set", function () {182 _initCalendar("5");183 expect(takeScreenshot(oCal)).toLookAs("060_width_set");184 });185 }186 function intervalSelection(){187 it("should test interval selection", function () {188 _initCalendar("2");189 expect(takeScreenshot(oCal)).toLookAs("070_interval_selection_initial");190 _pressDate(sCalId, "20150120"); // old interval unselected, 20 selected and focused191 expect(takeScreenshot(oCal)).toLookAs("071_select_interval_start");192 _pressDate(sCalId, "20150122"); // 20-22 selected, 22 focused193 expect(takeScreenshot(oCal)).toLookAs("072_select_interval_end");194 _initCalendar("2");195 if (browser.testrunner.runtime.platformName != "android" && browser.testrunner.runtime.platformName != "ios") {196 var sStartDateId = sCalId + "--Month0-" + "20150120";197 var sEndDateId = sCalId + "--Month0-" + "20150130";198 browser.actions().dragAndDrop(element(by.id(sStartDateId)), element(by.id(sEndDateId))).perform(); // old interval unselected, 20-30 selected, 30 focused199 expect(takeScreenshot(oCal)).toLookAs("073_select_interval_move");200 }201 });202 }203 function multiDaySelection(){204 it("should test multiple day selection", function () {205 _initCalendar("3");206 expect(takeScreenshot(oCal)).toLookAs("080_multiple_day_selection_initilal");207 _pressDate(sCalId, "20150120"); // 2 and 20 selected, 20 focused208 expect(takeScreenshot(oCal)).toLookAs("081_multiple_day_selection_press_date1");209 _pressDate(sCalId, "20150122"); // 2, 20, 22 selected, 22 focused210 expect(takeScreenshot(oCal)).toLookAs("082_multiple_day_selection_press_date2");211 _pressDate(sCalId, "20150120"); // 2 and 22 selected, 20 focused212 expect(takeScreenshot(oCal)).toLookAs("083_multiple_day_selection_press_date3");213 });214 }215 function multiMonthSelection(){216 it("should test multiple month display", function () {217 // we have multiple months displayed only on desktop, so skip the tests for mobile218 if (browser.testrunner.runtime.platformName != "android" && browser.testrunner.runtime.platformName != "ios") {219 _initCalendar("6");220 expect(takeScreenshot(oCal)).toLookAs("090_multiple_month_initilal");221 _pressPrev(sCalId); // month switched to December 2014, 31 focused222 expect(takeScreenshot(oCal)).toLookAs("091_multiple_month_press_previous");223 _initCalendar("6");224 _pressNext(sCalId); // month switched to February 2015, 1 focused225 expect(takeScreenshot(oCal)).toLookAs("092_multiple_month_press_next");226 _initCalendar("6");227 _pressMonthPicker(sCalId); // month picker opened, January selected and focused228 expect(takeScreenshot(oCal)).toLookAs("093_multiple_month_MonthPicker");229 _pressMonth(sCalId, "1"); // month picker closed, February 28 focused230 if (browser.testrunner.runtime.platformName != "android" && browser.testrunner.runtime.platformName != "ios") {231 browser.actions().mouseMove(element(by.css("#B1"))).perform();232 expect(takeScreenshot(oCal)).toLookAs("094_multiple_month_MonthPicker_Select");233 }234 _initCalendar("6");235 _pressYearPicker(sCalId); // year Picker shown, 2015 selected and focused236 expect(takeScreenshot(oCal)).toLookAs("095_multiple_month_YearPicker");237 _pressYear(sCalId, "2014"); // year picker closed, January-April 2014 shown, January 31 focused238 browser.actions().mouseMove(element(by.css("#B1"))).perform();239 expect(takeScreenshot(oCal)).toLookAs("096_multiple_month_YearPicker_Select");240 }241 }, iDefaultTimeout);242 it("should test multiple month display keyboard handling", function () {243 if (browser.testrunner.runtime.platformName != "android" && browser.testrunner.runtime.platformName != "ios" && browser.testrunner.runtime.browserName != "safari") {244 // only on desktop and not in Safari (sendKeys needs an Element in Safari, so test makes no sense there)245 _initCalendar("6");246 browser.actions().sendKeys(protractor.Key.ARROW_RIGHT).perform(); // focus on February 1247 expect(takeScreenshot(oCal)).toLookAs("097_multiple_month_keyboard_Arrow_Right");248 browser.actions().sendKeys(protractor.Key.ARROW_UP).perform(); // focus on January 25249 expect(takeScreenshot(oCal)).toLookAs("098_multiple_month_keyboard_Arrow_UP");250 browser.actions().sendKeys(protractor.Key.ARROW_DOWN).perform(); // focus on February 1251 expect(takeScreenshot(oCal)).toLookAs("099_multiple_month_keyboard_Arrow_Down");252 browser.actions().sendKeys(protractor.Key.ARROW_LEFT).perform(); // focus on January 31253 expect(takeScreenshot(oCal)).toLookAs("100_multiple_month_keyboard_Arrow_Left");254 browser.actions().sendKeys(protractor.Key.PAGE_UP).perform(); // switch to December-March, focus on December 31255 expect(takeScreenshot(oCal)).toLookAs("101_multiple_month_keyboard_Page_Up1");256 browser.actions().sendKeys(protractor.Key.PAGE_UP).perform(); // focus on November-February 30257 expect(takeScreenshot(oCal)).toLookAs("102_multiple_month_keyboard_Page_Up2");258 browser.actions().sendKeys(protractor.Key.PAGE_DOWN).perform(); // focus on December-March 30259 expect(takeScreenshot(oCal)).toLookAs("103_multiple_month_keyboard_Page_Down1");260 browser.actions().sendKeys(protractor.Key.PAGE_DOWN).perform(); // switch to January-April, focus on January 30261 expect(takeScreenshot(oCal)).toLookAs("103_multiple_month_keyboard_Page_Down2");262 }263 });264 it("sap.ui.unified.calendar.Header looks OK when chinese language is set and calendar has two months", function() {265 _initCalendar("7");266 expect(takeScreenshot(oCal)).toLookAs("104_month_displayed");267 _pressYearPicker(sCalId); // click the year button to open YearPicker268 expect(takeScreenshot(oCal)).toLookAs("105_year_picker_displayed");269 });270 it("sap.ui.unified.calendar.Header should test two months header button", function() {271 _initCalendar("8");272 expect(takeScreenshot(oCal)).toLookAs("106_month_displayed");273 _pressNext(sCalId); // Month switched to February - March274 expect(takeScreenshot(oCal)).toLookAs("107_february_march_displayed");275 _pressPrev(sCalId); // Month switch to January - February276 expect(takeScreenshot(oCal)).toLookAs("108_january_february_displayed");277 _pressMonthPicker(sCalId); //right month picker open, focus on January278 expect(takeScreenshot(oCal)).toLookAs("109_month_picker_displayed_focus_january");279 browser.actions().sendKeys(protractor.Key.ARROW_DOWN).perform();280 browser.actions().sendKeys(protractor.Key.ENTER).perform(); // Show month is April and May281 expect(takeScreenshot(oCal)).toLookAs("110_month_displayed_apr_may");282 _pressMonthPickerSecondHeader(sCalId); //left month picker open, focus on May283 expect(takeScreenshot(oCal)).toLookAs("111_month_picker_displayed_focus_may");284 browser.actions().sendKeys(protractor.Key.ARROW_UP).perform();285 browser.actions().sendKeys(protractor.Key.ARROW_LEFT).perform();286 browser.actions().sendKeys(protractor.Key.ENTER).perform(); // Show month December prev. year and January287 expect(takeScreenshot(oCal)).toLookAs("112_month_displayed_dec_jan");288 _pressPrev(sCalId); // Month switch to Nov. - Dec.289 expect(takeScreenshot(oCal)).toLookAs("113_november_december_displayed");290 _pressNext(sCalId); // Month swich to Dec. - Jan next year291 expect(takeScreenshot(oCal)).toLookAs("114_december_january_displayed");292 _pressNext(sCalId); // Month switch to Jan - Dec293 expect(takeScreenshot(oCal)).toLookAs("115_january_december_displayed");294 });295 }296 function _initCalendar(sVersion) {297 // initialize via Button function298 element(by.id("B" + sVersion)).click();299 oCal = element(by.id(sCalId));300 }301 function _pressDate(sCalendarId, sNewDate) {302 var sDateId = sCalendarId + "--Month0-" + sNewDate;303 element(by.id(sDateId)).click();304 }305 function _pressPrev(sCalendarId) {306 element(by.id(sCalendarId + "--Head-prev")).click();307 }...
CheckBox.spec.js
Source:CheckBox.spec.js
1/*global describe,it,element,by,takeScreenshot,expect*/2describe("sap.m.CheckBox", function() {3 "use strict";4 it('should load test page',function(){5 expect(takeScreenshot()).toLookAs('initial');6 });7 // verify checkBox is checked and editable8 it('should click on the checked and editable checkbox', function() {9 expect(takeScreenshot(element(by.id('cb_selected_enabled')))).toLookAs('cb_selected_enabled_before_click');10 element(by.id('cb_selected_enabled')).click();11 expect(takeScreenshot(element(by.id('cb_selected_enabled')))).toLookAs('cb_selected_enabled_after_click');12 });13 // verify checkBox is disabled and not editable14 it('should click on the disabled checkbox', function() {15 expect(takeScreenshot(element(by.id('cb_selected_disabled')))).toLookAs('cb_selected_disabled');16 element(by.id('cb_selected_disabled')).click();17 expect(takeScreenshot(element(by.id('cb_selected_disabled')))).toLookAs('cb_selected_disabled');18 });19 // verify checkBox is enabled and editable20 it('should click on the enabled and deselected checkbox', function() {21 expect(takeScreenshot(element(by.id('cb_deselected_enabled')))).toLookAs('cb_deselected_enabled_before_click');22 element(by.id('cb_deselected_enabled')).click();23 expect(takeScreenshot(element(by.id('cb_deselected_enabled')))).toLookAs('cb_deselected_enabled_after_click');24 });25 // verify checkBox is disabled and deselected26 it('should click on the disabled and deselected checkbox', function() {27 expect(takeScreenshot(element(by.id('cb_disabled_deselected')))).toLookAs('disabled_deselected');28 element(by.id('cb_disabled_deselected')).click();29 expect(takeScreenshot(element(by.id('cb_disabled_deselected')))).toLookAs('disabled_deselected');30 });31 // verify checkbox'es label size32 it('should check the label size in the checkbox', function() {33 expect(takeScreenshot(element(by.id('cb_with_label_size-label')))).toLookAs('checkbox_label');34 });35 // verify checkBox is not editable36 it('should click on the not editable checkbox', function() {37 expect(takeScreenshot(element(by.id('cb_not_editable')))).toLookAs('not_editable_before_click');38 element(by.id('cb_not_editable')).click();39 expect(takeScreenshot(element(by.id('cb_not_editable')))).toLookAs('not_editable_after_click');40 });41 // verify checkBox is display only42 it('should click on the display only checkbox', function() {43 expect(takeScreenshot(element(by.id('cb_display_only')))).toLookAs('cb_display_only');44 expect(takeScreenshot(element(by.id('cb_display_only_checked')))).toLookAs('cb_display_only_checked');45 });46 // verify warning checkBox is not selected and editable47 it('should click on the editable warning checkbox', function() {48 expect(takeScreenshot(element(by.id('cb_warning_deselected')))).toLookAs('warning_editable_before_click');49 element(by.id('cb_warning_deselected')).click();50 expect(takeScreenshot(element(by.id('cb_warning_deselected')))).toLookAs('warning_editable_after_click');51 });52 // verify warning checkBox is selected and editable53 it('should click on the editable selected warning checkbox', function() {54 expect(takeScreenshot(element(by.id('cb_warning_selected')))).toLookAs('warning_selected_editable_before_click');55 element(by.id('cb_warning_selected')).click();56 expect(takeScreenshot(element(by.id('cb_warning_selected')))).toLookAs('warning_selected_editable_after_click');57 });58 // verify warning checkBox is selected and not editable59 it('should click on the not editable selected warning checkbox', function() {60 expect(takeScreenshot(element(by.id('cb_warning_selected_disabled')))).toLookAs('warning_selected_disabled_before');61 element(by.id('cb_warning_selected_disabled')).click();62 expect(takeScreenshot(element(by.id('cb_warning_selected_disabled')))).toLookAs('warning_selected_disabled_after');63 });64 // verify error checkBox is not selected and editable65 it('should click on the editable error checkbox', function() {66 expect(takeScreenshot(element(by.id('cb_error_deselected')))).toLookAs('error_editable_before_click');67 element(by.id('cb_error_deselected')).click();68 expect(takeScreenshot(element(by.id('cb_error_deselected')))).toLookAs('error_editable_after_click');69 });70 // verify error checkBox is selected and editable71 it('should click on the editable selected error checkbox', function() {72 expect(takeScreenshot(element(by.id('cb_error_selected')))).toLookAs('error_selected_editable_before_click');73 element(by.id('cb_error_selected')).click();74 expect(takeScreenshot(element(by.id('cb_error_selected')))).toLookAs('error_selected_editable_after_click');75 });76 // verify error checkBox is selected and not editable77 it('should click on the not editable selected error checkbox', function() {78 expect(takeScreenshot(element(by.id('cb_error_selected_disabled')))).toLookAs('error_selected_disabled_after');79 element(by.id('cb_error_selected_disabled')).click();80 expect(takeScreenshot(element(by.id('cb_error_selected_disabled')))).toLookAs('error_selected_disabled_before');81 });82 // verify the checkBox enabled/disabled the checkBox in the toolbar83 it('should disable the checkbox in the toolbar', function() {84 expect(takeScreenshot(element(by.id('cb_in_toolbar')))).toLookAs('enabled_in_toolbar');85 element(by.id('cb_enable_disable_toolbar')).click();86 expect(takeScreenshot(element(by.id('cb_in_toolbar')))).toLookAs('disabled_in_toolbar');87 });88 // verify focused checkBox in a simple form has visible focus outline89 it('should click on the checkbox in the simple form', function() {90 element(by.id('cb_in_a_form')).click();91 expect(takeScreenshot(element(by.id('sf_with_checkbox')))).toLookAs('focused_in_simple_form');92 });...
quality_assurance.js
Source:quality_assurance.js
...3import { createUserRole } from '../testcafe/helpers/roles'4import fetchSandbox from '../testcafe/helpers/sandboxes'5fixture('Quality Assurance,').page(ROOT_PATH)6test('captures dâécran de toutes les pages du site', async () => {7 await takeScreenshot('connexion')8 await takeScreenshot('mot-de-passe-perdu')9 await takeScreenshot('inscription')10 await takeScreenshot('inscription/confirmation')11 const { user } = await fetchSandbox(12 'pro_03_offerers',13 'get_existing_pro_validated_user_with_validated_offerer_validated_user_offerer'14 )15 await t.useRole(createUserRole(user))16 await takeScreenshot('404')17 await t18 .navigateTo('/accueil')19 .takeScreenshot(optionsOfScreenshot('accueil'))20 .click(Selector('button').withText('Fred Leopold'))21 .takeScreenshot(optionsOfScreenshot('menu'))22 const token = Selector('label').withText('Contremarque')23 await t24 .navigateTo('/guichet')25 .typeText(token, 'FAAKEE', { replace: true })26 .takeScreenshot(optionsOfScreenshot('guichet-FAAKEE'))27 await t28 .navigateTo('/guichet')29 .typeText(token, '100004', { replace: true })30 .takeScreenshot(optionsOfScreenshot('guichet'))31 await t32 .navigateTo('/offres')33 .click(Selector('input[type="checkbox"]'))34 .click(Selector('.field-date-end .period-filter-input'))35 .takeScreenshot(optionsOfScreenshot('offres'))36 .typeText(Selector('label').withText('Nom de lâoffre ou ISBN'), 'search without result')37 .click(Selector('button').withText('Lancer la recherche'))38 .takeScreenshot(optionsOfScreenshot('offres-search-without-result'))39 await t40 .navigateTo('/offres')41 .click(Selector('table a'))42 .takeScreenshot(optionsOfScreenshot('offre-edition'))43 .click(Selector('.of-placeholder'))44 .click(Selector('.tna-toggle'))45 .takeScreenshot(optionsOfScreenshot('thumbnail-upload-from-computer'))46 .click(Selector('.thumbnail-dialog .bc-step:not(.active) a'))47 .takeScreenshot(optionsOfScreenshot('thumbnail-upload-from-url'))48 .typeText(49 Selector('.thumbnail-dialog .tnf-form input[name="url"]'),50 'https://pass.culture.fr/wp-content/uploads/2020/11/N_PASS_CULTURE_HD.png'51 )52 .click(Selector('.thumbnail-dialog .tnf-url-button'))53 .takeScreenshot(optionsOfScreenshot('thumbnail-credit'))54 .click(Selector('.thumbnail-dialog .tnd-actions .primary-button'))55 .takeScreenshot(optionsOfScreenshot('thumbnail-image-editor'))56 .click(Selector('.thumbnail-dialog .tnd-actions .primary-button'))57 .takeScreenshot(optionsOfScreenshot('thumbnail-preview'))58 .click(Selector('.thumbnail-dialog .tnd-actions .primary-button'))59 .click(Selector('a').withText('Stock et prix'))60 .takeScreenshot(optionsOfScreenshot('offre-stocks'))61 await t62 .navigateTo('/offres/creation')63 .click(Selector('select').withText('Choisir un type'))64 .click(Selector('select option').withText('Jeux - abonnements'))65 .typeText(Selector('label').withText("Titre de l'offre"), 'Un titre dâoffre')66 .click(Selector('select').withText('Sélectionnez une structure'))67 .click(Selector('select option').withText('Club Dorothy'))68 .click(Selector('select').withText('Sélectionnez un lieu'))69 .click(Selector('select option').withText('Maison de la Brique'))70 .typeText(Selector('label').withText('URL dâaccès à lâoffre'), 'https://example.com')71 .click(Selector('input[name="noDisabilityCompliant"]'))72 .takeScreenshot(optionsOfScreenshot('offre-creation'))73 .click(Selector('button').withText('Enregistrer et passer aux stocks'))74 .click(Selector('button').withText('Ajouter un stock'))75 .takeScreenshot(optionsOfScreenshot('offre-stocks'))76 .click(Selector('button').withText('Enregistrer'))77 .takeScreenshot(optionsOfScreenshot('offre-confirmation'))78 await t79 .navigateTo('/reservations')80 .click(Selector('img[alt="Filtrer par statut"]'))81 .takeScreenshot(optionsOfScreenshot('reservations'))82 .typeText(Selector(`input[placeholder="Rechercher par nom d'offre"]`), 'search without result')83 .takeScreenshot(optionsOfScreenshot('reservations-search-without-result'))84 await t85 .navigateTo('/profil')86 .takeScreenshot(optionsOfScreenshot('profil'))87 .click(Selector('button').withText('Enregistrer'))88 .takeScreenshot(optionsOfScreenshot('profil-success-banner'))89 await t90 .navigateTo('/structures')91 .takeScreenshot(optionsOfScreenshot('structures'))92 .click(Selector('a').withText('Club Dorothy'))93 .takeScreenshot(optionsOfScreenshot('structure'))94 .click(Selector('a').withText('+ Ajouter un lieu'))95 .takeScreenshot(optionsOfScreenshot('lieu-creation'))96 .click(Selector('button').withText('Annuler'))97 .click(Selector('a').withText('Maison de la Brique'))98 .takeScreenshot(optionsOfScreenshot('lieu'))99 .click(Selector('a').withText('Modifier le lieu'))100 .takeScreenshot(optionsOfScreenshot('lieu-edition'))101 await takeScreenshot('structures?mots-cles=search-without-result')102 await takeScreenshot('structures/creation')103 await takeScreenshot('styleguide')104 await takeScreenshot('remboursements')105 // TODO: Pourquoi vois-je du JS ?106 await takeScreenshot('remboursements/detail')107})108const takeScreenshot = async path => {109 await t.navigateTo(`/${path}`).takeScreenshot(optionsOfScreenshot(path))110}111const optionsOfScreenshot = path => ({112 path: `branch/${path.replace(/(\/|\?|=)/g, '-')}.png`,113 fullPage: true,...
TakeScreenshots.js
Source:TakeScreenshots.js
...16 browser.init();17 browser.waitForElementVisible("body");18 //----- Login page -----19 pageId = "loginPage";20 takeScreenshot(browser, i++, `${pageId}`);21 browser.lskLogin();22 //----- Invoice index page -----23 pageId = "invoiceIndexPage";24 takeScreenshot(browser, i++, `${pageId}`);25 browser.lskClick(`#${pageId}MenuActivator`);26 browser.lskClick(`#${pageId}AddInvoiceMenuItem`);27 takeScreenshot(browser, i++, `${pageId}AddInvoiceDialog`);28 browser.lskClick(`#${pageId}AddInvoiceDialogCancelButton`);29 browser.lskClick(`#${pageId}Table tbody tr td:nth-child(9) .mdi-delete`);30 takeScreenshot(browser, i++, `${pageId}DeleteInvoiceDialog`);31 browser.lskClick(`#${pageId}DeleteInvoiceDialogCancelButton`);32 browser.lskClick(`#${pageId}Table tbody tr td:nth-child(9) .mdi-monitor`);33 //----- Invoice show page -----34 pageId = "invoiceShowPage";35 takeScreenshot(browser, i++, `${pageId}`);36 browser.lskClick(`#${pageId}MenuActivator`);37 browser.lskClick(`#${pageId}EditInvoiceMenuItem`);38 takeScreenshot(browser, i++, `${pageId}EditInvoiceDialog`);39 browser.lskClick(`#${pageId}EditInvoiceDialogCancelButton`);40 browser.lskClick(`#${pageId}MenuActivator`);41 browser.lskClick(`#${pageId}EditInvoiceCustomerMenuItem`);42 takeScreenshot(browser, i++, `${pageId}EditInvoiceCustomerDialog`);43 browser.lskClick(`#${pageId}EditInvoiceCustomerDialogCancelButton`);44 browser.lskClick(`#${pageId}MenuActivator`);45 browser.lskClick(`#${pageId}EditInvoiceBillerMenuItem`);46 takeScreenshot(browser, i++, `${pageId}EditInvoiceBillerDialog`);47 browser.lskClick(`#${pageId}EditInvoiceBillerDialogCancelButton`);48 browser.lskClick(`#${pageId}InvoiceLineMenuActivator`);49 browser.lskClick(`#${pageId}AddInvoiceLineMenuItem`);50 takeScreenshot(browser, i++, `${pageId}AddInvoiceLineDialog`);51 browser.lskClick(`#${pageId}AddInvoiceLineDialogCancelButton`);52 browser.lskClick(`#${pageId}InvoiceLineTable tbody tr td:nth-child(7) .mdi-delete`);53 takeScreenshot(browser, i++, `${pageId}DeleteInvoiceLineDialog`);54 browser.lskClick(`#${pageId}DeleteInvoiceLineDialogCancelButton`);55 browser.lskClick(`#${pageId}InvoiceLineTable tbody tr td:nth-child(7) .mdi-pencil`);56 takeScreenshot(browser, i++, `${pageId}EditInvoiceLineDialog`);57 browser.lskClick(`#${pageId}EditInvoiceLineDialogCancelButton`);58 browser.lskClick(`#customerTab`);59 //----- Customer index page -----60 pageId = "customerIndexPage";61 browser.lskClick(`#${pageId}Title`);62 takeScreenshot(browser, i++, `${pageId}`);63 browser.lskClick(`#${pageId}MenuActivator`);64 browser.lskClick(`#${pageId}AddCustomerMenuItem`);65 takeScreenshot(browser, i++, `${pageId}AddCustomerDialog`);66 browser.lskClick(`#${pageId}AddCustomerDialogCancelButton`);67 browser.lskClick(`#${pageId}Table tbody tr td:nth-child(5) .mdi-delete`);68 takeScreenshot(browser, i++, `${pageId}DeleteCustomerDialog`);69 browser.lskClick(`#${pageId}DeleteCustomerDialogCancelButton`);70 browser.lskClick(`#${pageId}Table tbody tr td:nth-child(5) .mdi-monitor`);71 //----- Customer show page -----72 pageId = "customerShowPage";73 takeScreenshot(browser, i++, `${pageId}`);74 browser.lskClick(`#${pageId}MenuActivator`);75 browser.lskClick(`#${pageId}EditCustomerMenuItem`);76 takeScreenshot(browser, i++, `${pageId}EditCustomerDialog`);77 browser.lskClick(`#${pageId}EditCustomerDialogCancelButton`);78 browser.lskClick(`#billerTab`);79 //----- Biller index page -----80 pageId = "billerIndexPage";81 browser.lskClick(`#${pageId}Title`);82 takeScreenshot(browser, i++, `${pageId}`);83 browser.lskClick(`#${pageId}MenuActivator`);84 browser.lskClick(`#${pageId}AddBillerMenuItem`);85 takeScreenshot(browser, i++, `${pageId}AddBillerDialog`);86 browser.lskClick(`#${pageId}AddBillerDialogCancelButton`);87 browser.lskClick(`#${pageId}Table tbody tr td:nth-child(7) .mdi-delete`);88 takeScreenshot(browser, i++, `${pageId}DeleteBillerDialog`);89 browser.lskClick(`#${pageId}DeleteBillerDialogCancelButton`);90 browser.lskClick(`#${pageId}Table tbody tr td:nth-child(7) .mdi-monitor`);91 //----- Biller show page -----92 pageId = "billerShowPage";93 takeScreenshot(browser, i++, `${pageId}`);94 browser.lskClick(`#${pageId}MenuActivator`);95 browser.lskClick(`#${pageId}EditBillerMenuItem`);96 takeScreenshot(browser, i++, `${pageId}EditBillerDialog`);97 browser.end();98 },...
test-admin-navigate-sections.js
Source:test-admin-navigate-sections.js
1describe("verify navigation of admin sections", function() {2 it("should should navigate through admin sections", async function() {3 await browser.gl.utils.login_admin();4 await element.all(by.cssContainingText("a", "Home")).first().click();5 await browser.gl.utils.takeScreenshot("admin/home.png");6 await element.all(by.cssContainingText("a", "Changelog")).first().click();7 await browser.gl.utils.takeScreenshot("admin/changelog.png");8 await element.all(by.cssContainingText("a", "License")).first().click();9 await browser.gl.utils.takeScreenshot("admin/license.png");10 await element.all(by.cssContainingText("a", "Site settings")).first().click();11 await element.all(by.cssContainingText("a", "Main configuration")).first().click();12 await browser.gl.utils.takeScreenshot("admin/site_settings_main_configuration.png");13 await browser.gl.utils.takeScreenshot("admin/site_settings_logo_detail.png", element(by.id("Content")));14 await element.all(by.cssContainingText("a", "Theme customization")).first().click();15 await browser.gl.utils.takeScreenshot("admin/site_settings_theme_customization.png");16 await element.all(by.cssContainingText("a", "Files")).first().click();17 await browser.gl.utils.takeScreenshot("admin/site_settings_files.png");18 await element.all(by.cssContainingText("a", "Languages")).first().click();19 await browser.gl.utils.takeScreenshot("admin/site_settings_languages.png");20 await browser.gl.utils.takeScreenshot("admin/site_settings_languages_detail.png", element(by.id("Content")));21 await element.all(by.cssContainingText("a", "Text customization")).first().click();22 await browser.gl.utils.takeScreenshot("admin/site_settings_text_customization.png");23 await element.all(by.cssContainingText("a", "Users")).first().click();24 await browser.gl.utils.takeScreenshot("admin/users.png");25 await element.all(by.cssContainingText("a", "Questionnaires")).first().click();26 await browser.gl.utils.takeScreenshot("admin/questionnaires.png");27 await element.all(by.cssContainingText("a", "Question templates")).first().click();28 await browser.gl.utils.takeScreenshot("admin/question_templates.png");29 await element.all(by.cssContainingText("a", "Contexts")).first().click();30 await browser.gl.utils.takeScreenshot("admin/contexts.png");31 await element.all(by.cssContainingText("a", "Case management")).first().click();32 await browser.gl.utils.takeScreenshot("admin/report_statuses.png");33 await element.all(by.cssContainingText("a", "Notification settings")).first().click();34 await element.all(by.cssContainingText("a", "Main configuration")).first().click();35 await browser.gl.utils.takeScreenshot("admin/notification_settings.png");36 await browser.gl.utils.takeScreenshot("admin/notification_settings_detail.png", element(by.id("Content")));37 await element.all(by.cssContainingText("a", "Notification templates")).first().click();38 await browser.gl.utils.takeScreenshot("admin/notification_templates.png");39 await element.all(by.cssContainingText("a", "Network settings")).first().click();40 await element.all(by.cssContainingText("a", "Tor")).first().click();41 await browser.gl.utils.takeScreenshot("admin/tor.png");42 await element.all(by.cssContainingText("a", "HTTPS")).first().click();43 await browser.gl.utils.takeScreenshot("admin/https.png");44 await element.all(by.cssContainingText("a", "Access control")).first().click();45 await browser.gl.utils.takeScreenshot("admin/access_control.png");46 await element.all(by.cssContainingText("a", "URL redirects")).first().click();47 await browser.gl.utils.takeScreenshot("admin/url_redirects.png");48 await element.all(by.cssContainingText("a", "Sites management")).first().click();49 await browser.gl.utils.takeScreenshot("admin/sites_management_sites.png");50 await element(by.cssContainingText("a", "Options")).click();51 await browser.gl.utils.takeScreenshot("admin/sites_management_options.png");52 await element.all(by.cssContainingText("a", "Advanced settings")).first().click();53 await element.all(by.cssContainingText("a", "Main configuration")).first().click();54 await browser.gl.utils.takeScreenshot("admin/advanced_settings.png");55 await element.all(by.cssContainingText("a", "Anomaly detection thresholds")).first().click();56 await browser.gl.utils.takeScreenshot("admin/anomaly_thresholds.png");57 await element.all(by.cssContainingText("a", "Audit log")).first().click();58 await browser.gl.utils.takeScreenshot("admin/audit_log.png");59 await element.all(by.cssContainingText("a", "Users")).get(1).click();60 await browser.gl.utils.takeScreenshot("admin/audit_log_users.png");61 await element.all(by.cssContainingText("a", "Reports")).first().click();62 await browser.gl.utils.takeScreenshot("admin/audit_log_reports.png");63 await element.all(by.cssContainingText("a", "Scheduled jobs")).first().click();64 await browser.gl.utils.takeScreenshot("admin/audit_log_scheduled_jobs.png");65 });...
page.spec.js
Source:page.spec.js
...27 const pageTitle = faker.random.word();28 const pageContent = faker.lorem.lines(1);29 let counter = 0;30 const slug = "PageCreated";31 async function takeScreenshot(slug) {32 await page.screenshot({33 path: `${pathImages}/${slug}${counter++}.jpg`,34 });35 }36 await pagePageObject.createPage(page, slug, takeScreenshot);37 await pagePageObject.addContent(38 page,39 pageTitle,40 pageContent,41 slug,42 takeScreenshot43 );44 await pagePageObject.publishPage(page, slug, takeScreenshot);45 await expect(page).toMatch("Published");46 await page.click('a[href="#/pages/"]');47 await new Promise((r) => setTimeout(r, 1000));48 await page.click(".gh-notification-close");49 await expect(page).toMatch(pageTitle);50 });51 it("Create Page and schedule it successfully", async () => {52 const pageTitle = faker.random.word();53 const pageContent = faker.lorem.lines(1);54 let counter = 0;55 const slug = "PageScheduled";56 async function takeScreenshot(slug) {57 await page.screenshot({58 path: `${pathImages}/${slug}${counter++}.jpg`,59 });60 }61 await pagePageObject.createPage(page, slug, takeScreenshot);62 await pagePageObject.addContent(63 page,64 pageTitle,65 pageContent,66 slug,67 takeScreenshot68 );69 await pagePageObject.schedulePage(page, slug, takeScreenshot);70 await expect(page).toMatch("Scheduled");71 await page.click('a[href="#/pages/"]');72 await new Promise((r) => setTimeout(r, 1000));73 await page.click(".gh-notification-close");74 await expect(page).toMatch(pageTitle);75 });76 it("Create draft Page", async () => {77 const pageTitle = faker.random.word();78 const pageContent = faker.lorem.lines(1);79 let counter = 0;80 const slug = "PageDraft";81 async function takeScreenshot(slug) {82 await page.screenshot({83 path: `${pathImages}/${slug}${counter++}.jpg`,84 });85 }86 await pagePageObject.createPage(page, slug, takeScreenshot);87 await pagePageObject.addContent(88 page,89 pageTitle,90 pageContent,91 slug,92 takeScreenshot93 );94 await page.click('a[href="#/pages/"]');95 await new Promise((r) => setTimeout(r, 1000));96 await expect(page).toMatch(pageTitle);97 });98 it("Create Page, try to edit the first page but discard changes", async () => {99 const pageTitle = faker.random.word();100 const pageContent = faker.lorem.lines(1);101 const pageTitleEdit = faker.random.word();102 let counter = 0;103 const slug = "PageDiscardChanges";104 async function takeScreenshot(slug) {105 await page.screenshot({106 path: `${pathImages}/${slug}${counter++}.jpg`,107 });108 }109 await pagePageObject.createPage(page, slug, takeScreenshot);110 await pagePageObject.addContent(111 page,112 pageTitle,113 pageContent,114 slug,115 takeScreenshot116 );117 await pagePageObject.publishPage(page, slug, takeScreenshot);118 await expect(page).toMatch("Published");...
takeScreenshot.spec.js
Source:takeScreenshot.spec.js
...10});11it("returns a buffer containing the result of 'takeScreenshot' on the Appium Service", async () => {12 const screenshot = "dGVzdA==";13 jest.spyOn(appiumService, "takeScreenshot").mockResolvedValue(screenshot);14 const result = await device.takeScreenshot();15 expect(result).toBeInstanceOf(Buffer);16 expect(result.toString("base64")).toEqual(screenshot);17 expect(appiumService.takeScreenshot).toHaveBeenCalledTimes(1);18});19it("stores the screenshot on disk if a 'filePath' is configured", async () => {20 const filePath = "some/path";21 jest.spyOn(appiumService, "takeScreenshot").mockResolvedValue("dGVzdA==");22 jest.spyOn(fs, "writeFile").mockImplementation((path, data, cb) => cb());23 const buffer = await device.takeScreenshot({ filePath });24 expect(fs.writeFile).toHaveBeenCalledWith(filePath, buffer, expect.any(Function));25});26it("throws an ActionError for Appium request errors", async () => {27 const error = new AppiumError("Request error.", 3);28 jest.spyOn(appiumService, "takeScreenshot").mockRejectedValue(error);29 expect.assertions(3);30 try {31 await device.takeScreenshot();32 } catch (err) {33 expect(err).toBeInstanceOf(ActionError);34 expect(err).toHaveProperty("message", "Failed to take screenshot.");35 }36 expect(appiumService.takeScreenshot).toHaveBeenCalledTimes(1);37});38it("throws an ActionError if it is unable to store on disk when a 'filePath' is configured", async () => {39 const error = new Error("File system error.");40 jest.spyOn(appiumService, "takeScreenshot").mockResolvedValue("dGVzdA==");41 jest.spyOn(fs, "writeFile").mockImplementation((path, data, cb) => cb(error));42 expect.assertions(4);43 try {44 await device.takeScreenshot({ filePath: "some/path" });45 } catch (err) {46 expect(err).toBeInstanceOf(ActionError);47 expect(err).toHaveProperty("message", "Failed to store screenshot on disk.");48 }49 expect(appiumService.takeScreenshot).toHaveBeenCalledTimes(1);50 expect(fs.writeFile).toHaveBeenCalledTimes(1);51});52it("propagates other types of errors", async () => {53 const error = new Error("Something went wrong.");54 jest.spyOn(appiumService, "takeScreenshot").mockRejectedValue(error);55 expect.assertions(3);56 try {57 await device.takeScreenshot();58 } catch (err) {59 expect(err).toBeInstanceOf(error.constructor);60 expect(err).toHaveProperty("message", error.message);61 }62 expect(appiumService.takeScreenshot).toHaveBeenCalledTimes(1);...
takeScreenshotChain.test.js
Source:takeScreenshotChain.test.js
...30 assert.deepStrictEqual(toJSON(), {type: 'takeScreenshot'});31 });32 describe('testing takeScreenshot with different arguments', () => {33 it('should handle not empty string or undefined', () => {34 assert.doesNotThrow(() => takeScreenshot('raw'));35 assert.doesNotThrow(() => takeScreenshot('base64'));36 });37 it('should throw error when passing invalid arguments', () => {38 function isSuitestErrorInvalidInput(err) {39 return err instanceof SuitestError &&40 err.code === SuitestError.INVALID_INPUT &&41 err.message.includes('Invalid input provided for .takeScreenshot function');42 }43 assert.throws(() => takeScreenshot(''), isSuitestErrorInvalidInput);44 assert.throws(() => takeScreenshot('any/path/image.png'), isSuitestErrorInvalidInput);45 assert.throws(() => takeScreenshot(null), isSuitestErrorInvalidInput);46 assert.throws(() => takeScreenshot([]), isSuitestErrorInvalidInput);47 assert.throws(() => takeScreenshot(() => void 0), isSuitestErrorInvalidInput);48 assert.throws(() => takeScreenshot(111), isSuitestErrorInvalidInput);49 assert.throws(() => takeScreenshot(Symbol('any')), isSuitestErrorInvalidInput);50 });51 });...
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.screenshot({ path: 'screenshot.png' });7 await browser.close();8})();9const { chromium } = require('playwright');10(async () => {11 const browser = await chromium.launch();12 const context = await browser.newContext();13 const page = await context.newPage();14 await page.screenshot({ path: 'screenshot.png' });15 await browser.close();16})();17const { chromium } = require('playwright');18(async () => {19 const browser = await chromium.launch();20 const context = await browser.newContext();21 const page = await context.newPage();22 await page.screenshot({ path: 'screenshot.png' });23 await browser.close();24})();25const { chromium } = require('playwright');26(async () => {27 const browser = await chromium.launch();28 const context = await browser.newContext();29 const page = await context.newPage();30 await page.screenshot({ path: 'screenshot.png' });31 await browser.close();32})();33const { chromium } = require('playwright');34(async () => {35 const browser = await chromium.launch();36 const context = await browser.newContext();37 const page = await context.newPage();38 await page.screenshot({ path: 'screenshot.png' });39 await browser.close();40})();41const { chromium } = require('playwright');42(async () => {43 const browser = await chromium.launch();44 const context = await browser.newContext();45 const page = await context.newPage();46 await page.screenshot({ path: 'screenshot.png' });
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.screenshot({ path: 'example.png' });7 await browser.close();8})();9const { chromium } = require('playwright');10(async () => {11 const browser = await chromium.launch();12 const context = await browser.newContext();13 const page = await context.newPage();14 await page.screenshot({ path: 'example.png' });15 await browser.close();16})();17const { chromium } = require('playwright');18(async () => {19 const browser = await chromium.launch();20 const context = await browser.newContext();21 const page = await context.newPage();22 await page.screenshot({ path: 'example.png' });23 await browser.close();24})();25const { chromium } = require('playwright');26(async () => {27 const browser = await chromium.launch();28 const context = await browser.newContext();29 const page = await context.newPage();30 await page.screenshot({ path: 'example.png' });31 await browser.close();32})();33const { chromium } = require('playwright');34(async () => {35 const browser = await chromium.launch();36 const context = await browser.newContext();37 const page = await context.newPage();38 await page.screenshot({ path: 'example.png' });39 await browser.close();40})();41const { chromium } = require('playwright');42(async () => {43 const browser = await chromium.launch();44 const context = await browser.newContext();
Using AI Code Generation
1const playwright = require('playwright');2(async () => {3 const browser = await playwright['chromium'].launch({headless: false});4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.screenshot({ path: 'example.png' });7 await browser.close();8})();9const { devices } = require('playwright');10const { chromium } = require('playwright');11module.exports = {12 use: {13 viewport: { width: 1280, height: 720 },14 browserOptions: {15 },16 },17 {18 use: {19 browserOptions: {20 },21 },22 },23 {24 use: {25 browserOptions: {26 },27 },28 },29 {30 use: {31 browserOptions: {32 },33 },34 },35 {36 },37 {38 },39 {40 },41};42const { devices } = require('playwright');43const { chromium } = require('playwright');44module.exports = {45 use: {46 viewport: { width: 1280, height: 720 },
Using AI Code Generation
1const { takeScreenshot } = require('playwright/lib/server/screenshotter');2const { chromium } = require('playwright');3(async () => {4 const browser = await chromium.launch();5 const context = await browser.newContext();6 const page = await context.newPage();7 const screenshot = await takeScreenshot(page, 'png');8 console.log(screenshot.toString('base64'));9 await browser.close();10})();11const { takeScreenshot } = require('playwright/lib/server/screenshotter');12const { chromium } = require('playwright');13(async () => {14 const browser = await chromium.launch();15 const context = await browser.newContext();16 const page = await context.newPage();17 const screenshot = await page.screenshot();18 console.log(screenshot.toString('base64'));19 await browser.close();20})();
Using AI Code Generation
1const { chromium } = require('playwright');2const { takeScreenshot } = require('playwright/lib/server/chromium/crScreenshotter');3(async () => {4 const browser = await chromium.launch();5 const context = await browser.newContext();6 const page = await context.newPage();7 const screenshot = await takeScreenshot(page, 'body', 'jpeg', 80);8 await browser.close();9})();
Using AI Code Generation
1const { takeScreenshot } = require('playwright/lib/server/supplements/recorder/recorderSupplement');2(async () => {3 const context = await browser.newContext();4 const page = await context.newPage();5 await takeScreenshot(page, { path: 'screenshot.png' });6 await page.close();7 await context.close();8})();9How to use takeScreenshot() method from Playwright Internal API?10Example: takeScreenshot(page, { path: 'screenshot.png' });
Using AI Code Generation
1const { takeScreenshot } = require('playwright/lib/server/supplements/recorder/recorderApp');2(async () => {3 const browser = await chromium.launch();4 const page = await browser.newPage();5 await takeScreenshot(page, 'test.png');6 await browser.close();7})();
Using AI Code Generation
1const playwright = require('playwright');2(async () => {3 for (const browserType of BROWSER) {4 const browser = await playwright[browserType].launch();5 const context = await browser.newContext();6 const page = await context.newPage();7 await page.screenshot({ path: `example-${browserType}.png` });8 await browser.close();9 }10})();
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!