constructor()

in build/testing/applitools/run-msft-docs.js [30:145]


    constructor(eyes, driver, website) {
        console.log("Starting tests on: %s", website);

        driver.get(website);

        // Note: There are many ways to navigate/find/select elements on a page.
        // Not all are cross-browser compliant and for example, we can't
        // use xpath in all browser drivers. As a result, we're using
        // navigation though not necessarily most performant but effective.

        // Iterate each components documentation

        driver.navigate().to(`${website}/components/button/`);
        eyes.checkWindow("button");

        driver.navigate().to(`${website}/components/caption/`);
        eyes.checkWindow("caption");

        driver.navigate().to(`${website}/components/checkbox/`);
        eyes.checkWindow("checkbox");

        driver.navigate().to(`${website}/components/dialog/`);
        eyes.checkWindow("dialog");

        driver.navigate().to(`${website}/components/divider/`);
        eyes.checkWindow("divider");

        driver.navigate().to(`${website}/components/flipper/`);
        eyes.checkWindow("flipper");

        driver.navigate().to(`${website}/components/heading/`);
        eyes.checkWindow("heading");

        driver.navigate().to(`${website}/components/hypertext/`);
        eyes.checkWindow("hypertext");

        driver.navigate().to(`${website}/components/image/`);
        eyes.checkWindow("image");

        driver.navigate().to(`${website}/components/label/`);
        eyes.checkWindow("label");

        driver.navigate().to(`${website}/components/metatext/`);
        eyes.checkWindow("metatext");

        driver.navigate().to(`${website}/components/paragraph/`);
        eyes.checkWindow("paragraph");

        driver.navigate().to(`${website}/components/subheading/`);
        eyes.checkWindow("subheading");

        driver.navigate().to(`${website}/components/text-field/`);
        eyes.checkWindow("text-field");

        driver.navigate().to(`${website}/components/toggle/`);
        eyes.checkWindow("toggle");

        driver.navigate().to(`${website}/components/typography/`);
        eyes.checkWindow("typography");

        // Turn on Developer tools and iterate each component
        // Xpath selectors do not work in Internet Explorer
        // driver.findElement(By.xpath("//button[text()='dev tools']")).click();
        // one possible solution would be to inject data attributes for each component we can bind to.
        // For example, data-test="friendly name"
        // driver.findElement(By.cssSelector('[data-element="city"]'))

        // Navigate to example views for each component
        driver.navigate().to(`${website}/components/button/examples`);
        eyes.checkWindow("button example");

        driver.navigate().to(`${website}/components/caption/examples`);
        eyes.checkWindow("caption example");

        driver.navigate().to(`${website}/components/checkbox/examples`);
        eyes.checkWindow("checkbox example");

        driver.navigate().to(`${website}/components/dialog/examples`);
        eyes.checkWindow("dialog example");

        driver.navigate().to(`${website}/components/divider/examples`);
        eyes.checkWindow("divider example");

        driver.navigate().to(`${website}/components/flipper/examples`);
        eyes.checkWindow("flipper example");

        driver.navigate().to(`${website}/components/heading/examples`);
        eyes.checkWindow("heading example");

        driver.navigate().to(`${website}/components/hypertext/examples`);
        eyes.checkWindow("hypertext example");

        driver.navigate().to(`${website}/components/image/examples`);
        eyes.checkWindow("image example");

        driver.navigate().to(`${website}/components/label/examples`);
        eyes.checkWindow("label example");

        driver.navigate().to(`${website}/components/metatext/examples`);
        eyes.checkWindow("metatext example");

        driver.navigate().to(`${website}/components/paragraph/examples`);
        eyes.checkWindow("paragraph example");

        driver.navigate().to(`${website}/components/subheading/examples`);
        eyes.checkWindow("subheading example");

        driver.navigate().to(`${website}/components/text-field/examples`);
        eyes.checkWindow("text-field example");

        driver.navigate().to(`${website}/components/toggle/examples`);
        eyes.checkWindow("toggle example");

        driver.navigate().to(`${website}/components/typography/examples`);
        eyes.checkWindow("typography example");
    }