diff --git a/README.md b/README.md index 64cb927d3..e1c0953f8 100644 --- a/README.md +++ b/README.md @@ -169,9 +169,11 @@ onReadyScript // After the above conditions are met -- use this scrip keyPressSelectors // Takes array of selector and string values -- simulates multiple sequential keypress interactions. hoverSelector // Move the pointer over the specified DOM element prior to screen shot. hoverSelectors // *Puppeteer only* takes array of selectors -- simulates multiple sequential hover interactions. +focusSelector // Focus the specified DOM element prior to screen shot. +focusSelectors // *Puppeteer only* takes array of selectors -- simulates multiple sequential focus interactions. clickSelector // Click the specified DOM element prior to screen shot. clickSelectors // *Puppeteer only* takes array of selectors -- simulates multiple sequential click interactions. -postInteractionWait // Wait for a selector after interacting with hoverSelector or clickSelector (optionally accepts wait time in ms. Idea for use with a click or hover element transition. available with default onReadyScript) +postInteractionWait // Wait for a selector after interacting with hoverSelector, clickSelector, or focusSelector (optionally accepts wait time in ms. Idea for use with a click or hover element transition. available with default onReadyScript) scrollToSelector // Scrolls the specified DOM element into view prior to screen shot (available with default onReadyScript) selectors // Array of selectors to capture. Defaults to document if omitted. Use "viewport" to capture the viewport size. See Targeting elements in the next section for more info... selectorExpansion // See Targeting elements in the next section for more info... @@ -181,20 +183,22 @@ viewports // An array of screen size objects your DOM will be tes ``` -### Testing click and hover interactions +### Testing click, hover, and focus interactions BackstopJS ships with an onReady script that enables the following interaction selectors... ```js clickSelector: ".my-hamburger-menu", hoverSelector: ".my-hamburger-menu .some-menu-item", +focusSelector: ".my-hamburger-menu .some-menu-item", ``` -The above would tell BackstopJS to wait for your app to generate an element with a `.my-hamburger-menu` class, then click that selector. Then it would wait again for a `.my-hamburger-menu .some-menu-item` class, then move the cursor over that element (causing a hover state). Then BackstopJS would take a screenshot. +The above would tell BackstopJS to wait for your app to generate an element with a `.my-hamburger-menu` class, then click that selector. Then it would wait again for a `.my-hamburger-menu .some-menu-item` class, then move the cursor over that element (causing a hover state), then focus that element (causing a focus state). Then BackstopJS would take a screenshot. You can use these properties independent of each other to easily test various click and or hover states in your app. These are obviously simple scenarios -- if you have more complex needs then this example should serve as a pretty good starting point create your own onReady scripts. -NOTE: Puppeteer version optionally takes `clickSelectors` & `hoverSelectors` as arrays of selectors... +NOTE: Puppeteer version optionally takes `clickSelectors`, `hoverSelectors`, and `focusSelectors` as arrays of selectors... ```js clickSelectors: [".my-hamburger-menu",".my-hamburger-item"], hoverSelectors: [".my-nav-menu-item",".my-nav-menu-dropdown-item"], +focusSelectors: [".my-nav-menu-item",".my-nav-menu-dropdown-item"], ``` ### Key Press interactions diff --git a/capture/config.default.json b/capture/config.default.json index 967585f45..e6a4baea8 100644 --- a/capture/config.default.json +++ b/capture/config.default.json @@ -26,6 +26,7 @@ "hideSelectors": [], "removeSelectors": [], "hoverSelector": "", + "focusSelector": "", "clickSelector": "", "postInteractionWait": 0, "selectors": [], diff --git a/capture/engine_scripts/chromy/clickAndHoverHelper.js b/capture/engine_scripts/chromy/clickAndHoverHelper.js index e8948ff38..609be73c9 100644 --- a/capture/engine_scripts/chromy/clickAndHoverHelper.js +++ b/capture/engine_scripts/chromy/clickAndHoverHelper.js @@ -1,5 +1,6 @@ module.exports = function (chromy, scenario) { const hoverSelector = scenario.hoverSelectors || scenario.hoverSelector; + const focusSelector = scenario.focusSelectors || scenario.focusSelector; const clickSelector = scenario.clickSelectors || scenario.clickSelector; const keyPressSelector = scenario.keyPressSelectors || scenario.keyPressSelector; const scrollToSelector = scenario.scrollToSelectors || scenario.scrollToSelector; @@ -22,6 +23,12 @@ module.exports = function (chromy, scenario) { }); } + if (focusSelector) { + chromy + .wait(focusSelector) + .focus(focusSelector); + } + if (clickSelector) { chromy .wait(clickSelector) diff --git a/capture/engine_scripts/puppet/clickAndHoverHelper.js b/capture/engine_scripts/puppet/clickAndHoverHelper.js index 81ff30e8f..b4f449b8a 100644 --- a/capture/engine_scripts/puppet/clickAndHoverHelper.js +++ b/capture/engine_scripts/puppet/clickAndHoverHelper.js @@ -1,5 +1,6 @@ module.exports = async (page, scenario) => { const hoverSelector = scenario.hoverSelectors || scenario.hoverSelector; + const focusSelector = scenario.focusSelectors || scenario.focusSelector; const clickSelector = scenario.clickSelectors || scenario.clickSelector; const keyPressSelector = scenario.keyPressSelectors || scenario.keyPressSelector; const scrollToSelector = scenario.scrollToSelector; @@ -19,6 +20,13 @@ module.exports = async (page, scenario) => { } } + if (focusSelector) { + for (const focusSelectorIndex of [].concat(focusSelector)) { + await page.waitFor(focusSelectorIndex); + await page.focus(focusSelectorIndex); + } + } + if (clickSelector) { for (const clickSelectorIndex of [].concat(clickSelector)) { await page.waitFor(clickSelectorIndex); diff --git a/examples/Jenkins/Sample/backstop.json b/examples/Jenkins/Sample/backstop.json index 32259e0f0..48b05889c 100644 --- a/examples/Jenkins/Sample/backstop.json +++ b/examples/Jenkins/Sample/backstop.json @@ -26,6 +26,7 @@ "hideSelectors": [], "removeSelectors": [], "hoverSelector": "", + "focusSelector": "", "clickSelector": "", "postInteractionWait": 1000, "selectors": [], diff --git a/examples/Jenkins/Sample/backstop_data/engine_scripts/puppet/clickAndHoverHelper.js b/examples/Jenkins/Sample/backstop_data/engine_scripts/puppet/clickAndHoverHelper.js index 269f72830..e3b9b7002 100644 --- a/examples/Jenkins/Sample/backstop_data/engine_scripts/puppet/clickAndHoverHelper.js +++ b/examples/Jenkins/Sample/backstop_data/engine_scripts/puppet/clickAndHoverHelper.js @@ -1,5 +1,6 @@ module.exports = async (page, scenario) => { const hoverSelector = scenario.hoverSelector; + const focusSelector = scenario.focusSelector; const clickSelector = scenario.clickSelector; const postInteractionWait = scenario.postInteractionWait; // selector [str] | ms [int] @@ -8,6 +9,11 @@ module.exports = async (page, scenario) => { await page.hover(hoverSelector); } + if (focusSelector) { + await page.waitFor(focusSelector); + await page.focus(focusSelector); + } + if (clickSelector) { await page.waitFor(clickSelector); await page.click(clickSelector); diff --git a/examples/responsiveDemo/backstop.json b/examples/responsiveDemo/backstop.json index c05714e83..d05e4beb7 100644 --- a/examples/responsiveDemo/backstop.json +++ b/examples/responsiveDemo/backstop.json @@ -26,6 +26,7 @@ "hideSelectors": [], "removeSelectors": [], "hoverSelector": "", + "focusSelector": "", "clickSelector": "", "postInteractionWait": 0, "selectors": [], diff --git a/examples/responsiveDemo/backstop_data/engine_scripts/chromy/clickAndHoverHelper.js b/examples/responsiveDemo/backstop_data/engine_scripts/chromy/clickAndHoverHelper.js index cb374353e..6a7b576fd 100644 --- a/examples/responsiveDemo/backstop_data/engine_scripts/chromy/clickAndHoverHelper.js +++ b/examples/responsiveDemo/backstop_data/engine_scripts/chromy/clickAndHoverHelper.js @@ -1,5 +1,6 @@ module.exports = function (chromy, scenario) { const hoverSelector = scenario.hoverSelectors || scenario.hoverSelector; + const focusSelector = scenario.focusSelectors || scenario.focusSelector; const clickSelector = scenario.clickSelectors || scenario.clickSelector; const scrollToSelector = scenario.scrollToSelectors || scenario.scrollToSelector; const postInteractionWait = scenario.postInteractionWait; // selector [str] | ms [int] @@ -13,6 +14,12 @@ module.exports = function (chromy, scenario) { }); } + if (focusSelector) { + chromy + .wait(focusSelector) + .focus(focusSelector); + } + if (clickSelector) { chromy .wait(clickSelector) diff --git a/examples/responsiveDemo/backstop_data/engine_scripts/puppet/clickAndHoverHelper.js b/examples/responsiveDemo/backstop_data/engine_scripts/puppet/clickAndHoverHelper.js index 7ff027bae..243062c3c 100644 --- a/examples/responsiveDemo/backstop_data/engine_scripts/puppet/clickAndHoverHelper.js +++ b/examples/responsiveDemo/backstop_data/engine_scripts/puppet/clickAndHoverHelper.js @@ -1,5 +1,6 @@ module.exports = async (page, scenario) => { const hoverSelector = scenario.hoverSelectors || scenario.hoverSelector; + const focusSelector = scenario.focusSelectors || scenario.focusSelector; const clickSelector = scenario.clickSelectors || scenario.clickSelector; const scrollToSelector = scenario.scrollToSelector; const postInteractionWait = scenario.postInteractionWait; // selector [str] | ms [int] @@ -11,6 +12,13 @@ module.exports = async (page, scenario) => { } } + if (focusSelector) { + for (const focusSelectorIndex of [].concat(focusSelector)) { + await page.waitFor(focusSelectorIndex); + await page.focus(focusSelectorIndex); + } + } + if (clickSelector) { for (const clickSelectorIndex of [].concat(clickSelector)) { await page.waitFor(clickSelectorIndex); diff --git a/test/configs/backstop.json b/test/configs/backstop.json index 57b93357a..187b490ae 100644 --- a/test/configs/backstop.json +++ b/test/configs/backstop.json @@ -26,6 +26,7 @@ "hideSelectors": [], "removeSelectors": [], "hoverSelector": "", + "focusSelector": "", "clickSelector": "", "postInteractionWait": 0, "selectors": [], diff --git a/test/configs/backstop_data/bitmaps_reference/puppet_backstop_features_focus_0_moneyshot_0_phone.png b/test/configs/backstop_data/bitmaps_reference/puppet_backstop_features_focus_0_moneyshot_0_phone.png new file mode 100644 index 000000000..cda741bbd Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/puppet_backstop_features_focus_0_moneyshot_0_phone.png differ diff --git a/test/configs/backstop_data/bitmaps_reference/puppet_backstop_features_focus_0_moneyshot_1_tablet.png b/test/configs/backstop_data/bitmaps_reference/puppet_backstop_features_focus_0_moneyshot_1_tablet.png new file mode 100644 index 000000000..f3634b7b7 Binary files /dev/null and b/test/configs/backstop_data/bitmaps_reference/puppet_backstop_features_focus_0_moneyshot_1_tablet.png differ diff --git a/test/configs/backstop_data/engine_scripts/chromy/clickAndHoverHelper.js b/test/configs/backstop_data/engine_scripts/chromy/clickAndHoverHelper.js index e8948ff38..609be73c9 100644 --- a/test/configs/backstop_data/engine_scripts/chromy/clickAndHoverHelper.js +++ b/test/configs/backstop_data/engine_scripts/chromy/clickAndHoverHelper.js @@ -1,5 +1,6 @@ module.exports = function (chromy, scenario) { const hoverSelector = scenario.hoverSelectors || scenario.hoverSelector; + const focusSelector = scenario.focusSelectors || scenario.focusSelector; const clickSelector = scenario.clickSelectors || scenario.clickSelector; const keyPressSelector = scenario.keyPressSelectors || scenario.keyPressSelector; const scrollToSelector = scenario.scrollToSelectors || scenario.scrollToSelector; @@ -22,6 +23,12 @@ module.exports = function (chromy, scenario) { }); } + if (focusSelector) { + chromy + .wait(focusSelector) + .focus(focusSelector); + } + if (clickSelector) { chromy .wait(clickSelector) diff --git a/test/configs/backstop_data/engine_scripts/puppet/clickAndHoverHelper.js b/test/configs/backstop_data/engine_scripts/puppet/clickAndHoverHelper.js index 13a88ee71..01fe194e0 100644 --- a/test/configs/backstop_data/engine_scripts/puppet/clickAndHoverHelper.js +++ b/test/configs/backstop_data/engine_scripts/puppet/clickAndHoverHelper.js @@ -1,5 +1,6 @@ module.exports = async (page, scenario) => { const hoverSelector = scenario.hoverSelectors || scenario.hoverSelector; + const focusSelector = scenario.focusSelectors || scenario.focusSelector; const clickSelector = scenario.clickSelectors || scenario.clickSelector; const keyPressSelector = scenario.keyPressSelectors || scenario.keyPressSelector; const scrollToSelector = scenario.scrollToSelector; @@ -17,6 +18,11 @@ module.exports = async (page, scenario) => { await page.hover(hoverSelector); } + if (focusSelector) { + await page.waitFor(focusSelector); + await page.focus(focusSelector); + } + if (clickSelector) { await page.waitFor(clickSelector); await page.click(clickSelector); diff --git a/test/configs/backstop_data/json_report/jsonReport.json b/test/configs/backstop_data/json_report/jsonReport.json index db99088c5..64ad9695f 100644 --- a/test/configs/backstop_data/json_report/jsonReport.json +++ b/test/configs/backstop_data/json_report/jsonReport.json @@ -4,7 +4,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_Simple_0_document_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_Simple_0_document_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_Simple_0_document_0_phone.png", "selector": "document", "fileName": "puppet_backstop_features_Simple_0_document_0_phone.png", "label": "Simple", @@ -19,7 +19,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 650 + "analysisTime": 354 } }, "status": "pass" @@ -27,7 +27,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_Simple_0_document_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_Simple_0_document_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_Simple_0_document_1_tablet.png", "selector": "document", "fileName": "puppet_backstop_features_Simple_0_document_1_tablet.png", "label": "Simple", @@ -42,7 +42,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 408 + "analysisTime": 220 } }, "status": "pass" @@ -50,7 +50,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_pkra_bug_test_0_pkratest_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_pkra_bug_test_0_pkratest_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_pkra_bug_test_0_pkratest_0_phone.png", "selector": "#pkratest", "fileName": "puppet_backstop_features_pkra_bug_test_0_pkratest_0_phone.png", "label": "pkra bug test", @@ -72,7 +72,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png", "selector": ".logoBlock", "fileName": "puppet_backstop_features_pkra_bug_test_1_logoBlock_0_phone.png", "label": "pkra bug test", @@ -94,7 +94,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_pkra_bug_test_0_pkratest_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_pkra_bug_test_0_pkratest_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_pkra_bug_test_0_pkratest_1_tablet.png", "selector": "#pkratest", "fileName": "puppet_backstop_features_pkra_bug_test_0_pkratest_1_tablet.png", "label": "pkra bug test", @@ -116,7 +116,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png", "selector": ".logoBlock", "fileName": "puppet_backstop_features_pkra_bug_test_1_logoBlock_1_tablet.png", "label": "pkra bug test", @@ -138,7 +138,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_delay_0_getItBlocknth-child3_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_delay_0_getItBlocknth-child3_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_delay_0_getItBlocknth-child3_0_phone.png", "selector": ".getItBlock:nth-child(3)", "fileName": "puppet_backstop_features_delay_0_getItBlocknth-child3_0_phone.png", "label": "delay", @@ -153,7 +153,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 680 + "analysisTime": 212 } }, "status": "pass" @@ -161,7 +161,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png", "selector": ".getItBlock:nth-child(3)", "fileName": "puppet_backstop_features_delay_0_getItBlocknth-child3_1_tablet.png", "label": "delay", @@ -176,7 +176,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 411 + "analysisTime": 294 } }, "status": "pass" @@ -184,7 +184,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_readyEvent_0_moneyshot_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_readyEvent_0_moneyshot_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_readyEvent_0_moneyshot_0_phone.png", "selector": ".moneyshot", "fileName": "puppet_backstop_features_readyEvent_0_moneyshot_0_phone.png", "label": "readyEvent", @@ -199,7 +199,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 302 + "analysisTime": 283 } }, "status": "pass" @@ -207,7 +207,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_readyEvent_0_moneyshot_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_readyEvent_0_moneyshot_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_readyEvent_0_moneyshot_1_tablet.png", "selector": ".moneyshot", "fileName": "puppet_backstop_features_readyEvent_0_moneyshot_1_tablet.png", "label": "readyEvent", @@ -222,7 +222,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 540 + "analysisTime": 281 } }, "status": "pass" @@ -230,7 +230,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_readySelector_0_moneyshot_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_readySelector_0_moneyshot_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_readySelector_0_moneyshot_0_phone.png", "selector": ".moneyshot", "fileName": "puppet_backstop_features_readySelector_0_moneyshot_0_phone.png", "label": "readySelector", @@ -245,7 +245,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 391 + "analysisTime": 315 } }, "status": "pass" @@ -253,7 +253,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_readySelector_0_moneyshot_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_readySelector_0_moneyshot_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_readySelector_0_moneyshot_1_tablet.png", "selector": ".moneyshot", "fileName": "puppet_backstop_features_readySelector_0_moneyshot_1_tablet.png", "label": "readySelector", @@ -268,7 +268,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 458 + "analysisTime": 382 } }, "status": "pass" @@ -276,7 +276,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png", "selector": ".getItBlock:nth-child(3)", "fileName": "puppet_backstop_features_noDelay_0_getItBlocknth-child3_0_phone.png", "label": "noDelay", @@ -291,7 +291,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 400 + "analysisTime": 227 } }, "status": "pass" @@ -299,7 +299,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png", "selector": ".getItBlock:nth-child(3)", "fileName": "puppet_backstop_features_noDelay_0_getItBlocknth-child3_1_tablet.png", "label": "noDelay", @@ -314,7 +314,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 484 + "analysisTime": 293 } }, "status": "pass" @@ -322,7 +322,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_expanded_0_getItBlock_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_expanded_0_getItBlock_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_expanded_0_getItBlock_0_phone.png", "selector": ".getItBlock", "fileName": "puppet_backstop_features_expanded_0_getItBlock_0_phone.png", "label": "expanded", @@ -337,7 +337,7 @@ "height": 0 }, "misMatchPercentage": "0.01", - "analysisTime": 253 + "analysisTime": 254 } }, "status": "pass" @@ -345,7 +345,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_expanded_1_getItBlock__n1_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_expanded_1_getItBlock__n1_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_expanded_1_getItBlock__n1_0_phone.png", "selector": ".getItBlock.__n1", "fileName": "puppet_backstop_features_expanded_1_getItBlock__n1_0_phone.png", "label": "expanded", @@ -360,7 +360,7 @@ "height": 0 }, "misMatchPercentage": "0.01", - "analysisTime": 393 + "analysisTime": 290 } }, "status": "pass" @@ -368,7 +368,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_expanded_2_getItBlock__n2_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_expanded_2_getItBlock__n2_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_expanded_2_getItBlock__n2_0_phone.png", "selector": ".getItBlock.__n2", "fileName": "puppet_backstop_features_expanded_2_getItBlock__n2_0_phone.png", "label": "expanded", @@ -383,7 +383,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 365 + "analysisTime": 306 } }, "status": "pass" @@ -391,7 +391,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_expanded_3_getItBlock__n3_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_expanded_3_getItBlock__n3_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_expanded_3_getItBlock__n3_0_phone.png", "selector": ".getItBlock.__n3", "fileName": "puppet_backstop_features_expanded_3_getItBlock__n3_0_phone.png", "label": "expanded", @@ -413,7 +413,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_expanded_0_getItBlock_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_expanded_0_getItBlock_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_expanded_0_getItBlock_1_tablet.png", "selector": ".getItBlock", "fileName": "puppet_backstop_features_expanded_0_getItBlock_1_tablet.png", "label": "expanded", @@ -428,16 +428,16 @@ "height": 0 }, "misMatchPercentage": "5.76", - "analysisTime": 401 + "analysisTime": 239 }, - "diffImage": "../bitmaps_test/20191118-081005/failed_diff_puppet_backstop_features_expanded_0_getItBlock_1_tablet.png" + "diffImage": "../bitmaps_test/20200415-103414/failed_diff_puppet_backstop_features_expanded_0_getItBlock_1_tablet.png" }, "status": "fail" }, { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_expanded_1_getItBlock__n1_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_expanded_1_getItBlock__n1_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_expanded_1_getItBlock__n1_1_tablet.png", "selector": ".getItBlock.__n1", "fileName": "puppet_backstop_features_expanded_1_getItBlock__n1_1_tablet.png", "label": "expanded", @@ -452,7 +452,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 220 + "analysisTime": 356 } }, "status": "pass" @@ -460,7 +460,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_expanded_2_getItBlock__n2_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_expanded_2_getItBlock__n2_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_expanded_2_getItBlock__n2_1_tablet.png", "selector": ".getItBlock.__n2", "fileName": "puppet_backstop_features_expanded_2_getItBlock__n2_1_tablet.png", "label": "expanded", @@ -475,7 +475,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 472 + "analysisTime": 236 } }, "status": "pass" @@ -483,7 +483,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_expanded_3_getItBlock__n3_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_expanded_3_getItBlock__n3_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_expanded_3_getItBlock__n3_1_tablet.png", "selector": ".getItBlock.__n3", "fileName": "puppet_backstop_features_expanded_3_getItBlock__n3_1_tablet.png", "label": "expanded", @@ -505,7 +505,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_notExpanded_0_getItBlock_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_notExpanded_0_getItBlock_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_notExpanded_0_getItBlock_0_phone.png", "selector": ".getItBlock", "fileName": "puppet_backstop_features_notExpanded_0_getItBlock_0_phone.png", "label": "notExpanded", @@ -520,7 +520,7 @@ "height": 0 }, "misMatchPercentage": "0.01", - "analysisTime": 347 + "analysisTime": 213 } }, "status": "pass" @@ -528,7 +528,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_notExpanded_0_getItBlock_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_notExpanded_0_getItBlock_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_notExpanded_0_getItBlock_1_tablet.png", "selector": ".getItBlock", "fileName": "puppet_backstop_features_notExpanded_0_getItBlock_1_tablet.png", "label": "notExpanded", @@ -543,7 +543,7 @@ "height": 0 }, "misMatchPercentage": "0.01", - "analysisTime": 369 + "analysisTime": 302 } }, "status": "pass" @@ -551,7 +551,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_expect_0_getItBlock_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_expect_0_getItBlock_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_expect_0_getItBlock_0_phone.png", "selector": ".getItBlock", "fileName": "puppet_backstop_features_expect_0_getItBlock_0_phone.png", "label": "expect", @@ -565,17 +565,16 @@ "width": 0, "height": 0 }, - "misMatchPercentage": "9.87", - "analysisTime": 449 - }, - "diffImage": "../bitmaps_test/20191118-081005/failed_diff_puppet_backstop_features_expect_0_getItBlock_0_phone.png" + "misMatchPercentage": "0.01", + "analysisTime": 313 + } }, - "status": "fail" + "status": "pass" }, { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_expect_1_getItBlock__n1_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_expect_1_getItBlock__n1_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_expect_1_getItBlock__n1_0_phone.png", "selector": ".getItBlock.__n1", "fileName": "puppet_backstop_features_expect_1_getItBlock__n1_0_phone.png", "label": "expect", @@ -590,7 +589,7 @@ "height": 0 }, "misMatchPercentage": "0.01", - "analysisTime": 402 + "analysisTime": 246 } }, "status": "pass" @@ -598,7 +597,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_expect_2_getItBlock__n2_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_expect_2_getItBlock__n2_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_expect_2_getItBlock__n2_0_phone.png", "selector": ".getItBlock.__n2", "fileName": "puppet_backstop_features_expect_2_getItBlock__n2_0_phone.png", "label": "expect", @@ -613,7 +612,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 318 + "analysisTime": 200 } }, "status": "pass" @@ -621,7 +620,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_expect_3_getItBlock__n3_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_expect_3_getItBlock__n3_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_expect_3_getItBlock__n3_0_phone.png", "selector": ".getItBlock.__n3", "fileName": "puppet_backstop_features_expect_3_getItBlock__n3_0_phone.png", "label": "expect", @@ -643,7 +642,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_expect_0_getItBlock_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_expect_0_getItBlock_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_expect_0_getItBlock_1_tablet.png", "selector": ".getItBlock", "fileName": "puppet_backstop_features_expect_0_getItBlock_1_tablet.png", "label": "expect", @@ -658,7 +657,7 @@ "height": 0 }, "misMatchPercentage": "0.01", - "analysisTime": 528 + "analysisTime": 269 } }, "status": "pass" @@ -666,7 +665,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_expect_1_getItBlock__n1_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_expect_1_getItBlock__n1_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_expect_1_getItBlock__n1_1_tablet.png", "selector": ".getItBlock.__n1", "fileName": "puppet_backstop_features_expect_1_getItBlock__n1_1_tablet.png", "label": "expect", @@ -681,7 +680,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 397 + "analysisTime": 277 } }, "status": "pass" @@ -689,7 +688,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_expect_2_getItBlock__n2_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_expect_2_getItBlock__n2_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_expect_2_getItBlock__n2_1_tablet.png", "selector": ".getItBlock.__n2", "fileName": "puppet_backstop_features_expect_2_getItBlock__n2_1_tablet.png", "label": "expect", @@ -704,7 +703,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 336 + "analysisTime": 193 } }, "status": "pass" @@ -712,7 +711,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_expect_3_getItBlock__n3_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_expect_3_getItBlock__n3_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_expect_3_getItBlock__n3_1_tablet.png", "selector": ".getItBlock.__n3", "fileName": "puppet_backstop_features_expect_3_getItBlock__n3_1_tablet.png", "label": "expect", @@ -734,7 +733,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_magicSelectors_0_document_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_magicSelectors_0_document_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_magicSelectors_0_document_0_phone.png", "selector": "document", "fileName": "puppet_backstop_features_magicSelectors_0_document_0_phone.png", "label": "magicSelectors", @@ -749,7 +748,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 397 + "analysisTime": 239 } }, "status": "pass" @@ -757,7 +756,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_magicSelectors_1_viewport_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_magicSelectors_1_viewport_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_magicSelectors_1_viewport_0_phone.png", "selector": "viewport", "fileName": "puppet_backstop_features_magicSelectors_1_viewport_0_phone.png", "label": "magicSelectors", @@ -772,7 +771,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 477 + "analysisTime": 248 } }, "status": "pass" @@ -780,7 +779,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_magicSelectors_0_document_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_magicSelectors_0_document_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_magicSelectors_0_document_1_tablet.png", "selector": "document", "fileName": "puppet_backstop_features_magicSelectors_0_document_1_tablet.png", "label": "magicSelectors", @@ -795,7 +794,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 92 + "analysisTime": 88 } }, "status": "pass" @@ -803,7 +802,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_magicSelectors_1_viewport_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_magicSelectors_1_viewport_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_magicSelectors_1_viewport_1_tablet.png", "selector": "viewport", "fileName": "puppet_backstop_features_magicSelectors_1_viewport_1_tablet.png", "label": "magicSelectors", @@ -818,7 +817,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 274 + "analysisTime": 223 } }, "status": "pass" @@ -826,7 +825,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_hideSelectors_0_document_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_hideSelectors_0_document_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_hideSelectors_0_document_0_phone.png", "selector": "document", "fileName": "puppet_backstop_features_hideSelectors_0_document_0_phone.png", "label": "hideSelectors", @@ -841,7 +840,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 334 + "analysisTime": 147 } }, "status": "pass" @@ -849,7 +848,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_hideSelectors_0_document_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_hideSelectors_0_document_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_hideSelectors_0_document_1_tablet.png", "selector": "document", "fileName": "puppet_backstop_features_hideSelectors_0_document_1_tablet.png", "label": "hideSelectors", @@ -864,7 +863,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 117 + "analysisTime": 81 } }, "status": "pass" @@ -872,7 +871,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_removeSelectors_0_document_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_removeSelectors_0_document_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_removeSelectors_0_document_0_phone.png", "selector": "document", "fileName": "puppet_backstop_features_removeSelectors_0_document_0_phone.png", "label": "removeSelectors", @@ -887,7 +886,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 257 + "analysisTime": 194 } }, "status": "pass" @@ -895,7 +894,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_removeSelectors_0_document_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_removeSelectors_0_document_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_removeSelectors_0_document_1_tablet.png", "selector": "document", "fileName": "puppet_backstop_features_removeSelectors_0_document_1_tablet.png", "label": "removeSelectors", @@ -910,7 +909,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 391 + "analysisTime": 324 } }, "status": "pass" @@ -918,7 +917,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_notFound_0_monkey_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_notFound_0_monkey_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_notFound_0_monkey_0_phone.png", "selector": ".monkey", "fileName": "puppet_backstop_features_notFound_0_monkey_0_phone.png", "label": "notFound", @@ -940,7 +939,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_notFound_0_monkey_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_notFound_0_monkey_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_notFound_0_monkey_1_tablet.png", "selector": ".monkey", "fileName": "puppet_backstop_features_notFound_0_monkey_1_tablet.png", "label": "notFound", @@ -962,7 +961,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_notVisible_0_noShow_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_notVisible_0_noShow_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_notVisible_0_noShow_0_phone.png", "selector": "#noShow", "fileName": "puppet_backstop_features_notVisible_0_noShow_0_phone.png", "label": "notVisible", @@ -984,7 +983,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_notVisible_0_noShow_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_notVisible_0_noShow_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_notVisible_0_noShow_1_tablet.png", "selector": "#noShow", "fileName": "puppet_backstop_features_notVisible_0_noShow_1_tablet.png", "label": "notVisible", @@ -1006,7 +1005,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_cookies_0_moneyshot_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_cookies_0_moneyshot_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_cookies_0_moneyshot_0_phone.png", "selector": ".moneyshot", "fileName": "puppet_backstop_features_cookies_0_moneyshot_0_phone.png", "label": "cookies", @@ -1021,7 +1020,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 366 + "analysisTime": 175 } }, "status": "pass" @@ -1029,7 +1028,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_cookies_0_moneyshot_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_cookies_0_moneyshot_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_cookies_0_moneyshot_1_tablet.png", "selector": ".moneyshot", "fileName": "puppet_backstop_features_cookies_0_moneyshot_1_tablet.png", "label": "cookies", @@ -1044,7 +1043,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 401 + "analysisTime": 255 } }, "status": "pass" @@ -1052,7 +1051,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_hover_0_moneyshot_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_hover_0_moneyshot_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_hover_0_moneyshot_0_phone.png", "selector": ".moneyshot", "fileName": "puppet_backstop_features_hover_0_moneyshot_0_phone.png", "label": "hover", @@ -1066,16 +1065,17 @@ "width": 0, "height": 0 }, - "misMatchPercentage": "0.00", - "analysisTime": 233 - } + "misMatchPercentage": "1.38", + "analysisTime": 206 + }, + "diffImage": "../bitmaps_test/20200415-103414/failed_diff_puppet_backstop_features_hover_0_moneyshot_0_phone.png" }, - "status": "pass" + "status": "fail" }, { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_hover_0_moneyshot_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_hover_0_moneyshot_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_hover_0_moneyshot_1_tablet.png", "selector": ".moneyshot", "fileName": "puppet_backstop_features_hover_0_moneyshot_1_tablet.png", "label": "hover", @@ -1089,8 +1089,53 @@ "width": 0, "height": 0 }, - "misMatchPercentage": "0.00", - "analysisTime": 280 + "misMatchPercentage": "0.43", + "analysisTime": 225 + }, + "diffImage": "../bitmaps_test/20200415-103414/failed_diff_puppet_backstop_features_hover_0_moneyshot_1_tablet.png" + }, + "status": "fail" + }, + { + "pair": { + "reference": "../bitmaps_reference/puppet_backstop_features_focus_0_moneyshot_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_focus_0_moneyshot_0_phone.png", + "selector": ".moneyshot", + "fileName": "puppet_backstop_features_focus_0_moneyshot_0_phone.png", + "label": "focus", + "misMatchThreshold": 0.1, + "url": "https://garris.github.io/BackstopJS/index.html?click", + "expect": 0, + "viewportLabel": "phone", + "diff": { + "isSameDimensions": true, + "dimensionDifference": { + "width": 0, + "height": 0 + }, + "misMatchPercentage": "0.00" + } + }, + "status": "pass" + }, + { + "pair": { + "reference": "../bitmaps_reference/puppet_backstop_features_focus_0_moneyshot_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_focus_0_moneyshot_1_tablet.png", + "selector": ".moneyshot", + "fileName": "puppet_backstop_features_focus_0_moneyshot_1_tablet.png", + "label": "focus", + "misMatchThreshold": 0.1, + "url": "https://garris.github.io/BackstopJS/index.html?click", + "expect": 0, + "viewportLabel": "tablet", + "diff": { + "isSameDimensions": true, + "dimensionDifference": { + "width": 0, + "height": 0 + }, + "misMatchPercentage": "0.00" } }, "status": "pass" @@ -1098,7 +1143,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_click_0_moneyshot_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_click_0_moneyshot_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_click_0_moneyshot_0_phone.png", "selector": ".moneyshot", "fileName": "puppet_backstop_features_click_0_moneyshot_0_phone.png", "label": "click", @@ -1113,7 +1158,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 263 + "analysisTime": 196 } }, "status": "pass" @@ -1121,7 +1166,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_click_0_moneyshot_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_click_0_moneyshot_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_click_0_moneyshot_1_tablet.png", "selector": ".moneyshot", "fileName": "puppet_backstop_features_click_0_moneyshot_1_tablet.png", "label": "click", @@ -1136,7 +1181,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 247 + "analysisTime": 250 } }, "status": "pass" @@ -1144,7 +1189,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_scrollToSelector_0_lemurFace_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_scrollToSelector_0_lemurFace_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_scrollToSelector_0_lemurFace_0_phone.png", "selector": ".lemurFace", "fileName": "puppet_backstop_features_scrollToSelector_0_lemurFace_0_phone.png", "label": "scrollToSelector", @@ -1166,7 +1211,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_scrollToSelector_0_lemurFace_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_scrollToSelector_0_lemurFace_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_scrollToSelector_0_lemurFace_1_tablet.png", "selector": ".lemurFace", "fileName": "puppet_backstop_features_scrollToSelector_0_lemurFace_1_tablet.png", "label": "scrollToSelector", @@ -1188,7 +1233,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png", "selector": "document", "fileName": "puppet_backstop_features_scenarioSpecificViewports_0_document_0_Galaxy-S5.png", "label": "scenarioSpecificViewports", @@ -1203,7 +1248,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 318 + "analysisTime": 223 } }, "status": "pass" @@ -1211,7 +1256,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png", "selector": "viewport", "fileName": "puppet_backstop_features_scenarioSpecificViewports_1_viewport_0_Galaxy-S5.png", "label": "scenarioSpecificViewports", @@ -1226,7 +1271,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 457 + "analysisTime": 188 } }, "status": "pass" @@ -1234,7 +1279,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png", "selector": "document", "fileName": "puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_0_phone.png", "label": "scenarioSpecificViewports-withEmptyViewports", @@ -1249,7 +1294,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 252 + "analysisTime": 221 } }, "status": "pass" @@ -1257,7 +1302,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png", "selector": "document", "fileName": "puppet_backstop_features_scenarioSpecificViewports-withEmptyViewports_0_document_1_tablet.png", "label": "scenarioSpecificViewports-withEmptyViewports", @@ -1272,7 +1317,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 56 + "analysisTime": 55 } }, "status": "pass" @@ -1280,7 +1325,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png", "selector": "document", "fileName": "puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_0_Pixel-2.png", "label": "scenarioSpecificViewports-withMultipleViewports", @@ -1295,7 +1340,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 125 + "analysisTime": 138 } }, "status": "pass" @@ -1303,7 +1348,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png", "selector": "document", "fileName": "puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_1_Pixel2-XL.png", "label": "scenarioSpecificViewports-withMultipleViewports", @@ -1318,7 +1363,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 64 + "analysisTime": 155 } }, "status": "pass" @@ -1326,7 +1371,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png", "selector": "document", "fileName": "puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_2_iPhone-X.png", "label": "scenarioSpecificViewports-withMultipleViewports", @@ -1341,7 +1386,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 226 + "analysisTime": 90 } }, "status": "pass" @@ -1349,7 +1394,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png", "selector": "document", "fileName": "puppet_backstop_features_scenarioSpecificViewports-withMultipleViewports_0_document_3_iPad-Pro.png", "label": "scenarioSpecificViewports-withMultipleViewports", @@ -1364,7 +1409,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 58 + "analysisTime": 59 } }, "status": "pass" @@ -1372,7 +1417,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png", "selector": ".getItBlock", "fileName": "puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_0_getItBlock_0_iPad-Pro.png", "label": "scenarioSpecificViewports-withExpandSelector", @@ -1387,7 +1432,7 @@ "height": 0 }, "misMatchPercentage": "0.01", - "analysisTime": 264 + "analysisTime": 146 } }, "status": "pass" @@ -1395,7 +1440,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.png", "selector": ".getItBlock.__n1", "fileName": "puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_1_getItBlock__n1_0_iPad-Pro.png", "label": "scenarioSpecificViewports-withExpandSelector", @@ -1410,7 +1455,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 300 + "analysisTime": 119 } }, "status": "pass" @@ -1418,7 +1463,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png", "selector": ".getItBlock.__n2", "fileName": "puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_2_getItBlock__n2_0_iPad-Pro.png", "label": "scenarioSpecificViewports-withExpandSelector", @@ -1433,7 +1478,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 298 + "analysisTime": 123 } }, "status": "pass" @@ -1441,7 +1486,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_3_getItBlock__n3_0_iPad-Pro.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_3_getItBlock__n3_0_iPad-Pro.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_3_getItBlock__n3_0_iPad-Pro.png", "selector": ".getItBlock.__n3", "fileName": "puppet_backstop_features_scenarioSpecificViewports-withExpandSelector_3_getItBlock__n3_0_iPad-Pro.png", "label": "scenarioSpecificViewports-withExpandSelector", @@ -1463,7 +1508,7 @@ { "pair": { "reference": "../bitmaps_reference/puppet_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.png", - "test": "../bitmaps_test/20191118-081005/puppet_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.png", + "test": "../bitmaps_test/20200415-103414/puppet_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.png", "selector": "div[id=navbar]", "fileName": "puppet_backstop_features_keyPressSelector_0_dividnavbar_0_Desktop.png", "label": "keyPressSelector", @@ -1478,7 +1523,7 @@ "height": 0 }, "misMatchPercentage": "0.00", - "analysisTime": 82 + "analysisTime": 61 } }, "status": "pass" diff --git a/test/configs/backstop_features.js b/test/configs/backstop_features.js index c7725670b..cb1a50931 100644 --- a/test/configs/backstop_features.js +++ b/test/configs/backstop_features.js @@ -121,6 +121,13 @@ module.exports = { postInteractionWait: 1000, selectors: ['.moneyshot'] }, + { + label: 'focus', + url: `${URL}/index.html?click`, + focusSelector: '.lemur-link', + postInteractionWait: 1000, + selectors: ['.moneyshot'] + }, { label: 'click', url: `${URL}/index.html?click`, diff --git a/test/configs/chrome_smoke.json b/test/configs/chrome_smoke.json index 61cf09c19..10d4889b0 100644 --- a/test/configs/chrome_smoke.json +++ b/test/configs/chrome_smoke.json @@ -26,6 +26,7 @@ "hideSelectors": [], "removeSelectors": [], "hoverSelector": "", + "focusSelector": "", "clickSelector": "", "postInteractionWait": "", "selectors": [], diff --git a/test/configs/responsiveDemo.json b/test/configs/responsiveDemo.json index 1e0cc6182..956ae4c99 100644 --- a/test/configs/responsiveDemo.json +++ b/test/configs/responsiveDemo.json @@ -26,6 +26,7 @@ "hideSelectors": [], "removeSelectors": [], "hoverSelector": "", + "focusSelector": "", "clickSelector": "", "postInteractionWait": 0, "selectors": [], diff --git a/test/configs/responsiveTest.json b/test/configs/responsiveTest.json index 6a0eb5dfb..752f63581 100644 --- a/test/configs/responsiveTest.json +++ b/test/configs/responsiveTest.json @@ -25,6 +25,7 @@ "hideSelectors": [], "removeSelectors": [], "hoverSelector": "", + "focusSelector": "", "clickSelector": "", "postInteractionWait": 0, "selectors": [],