import React, { useRef, useEffect } from 'react' import clsx from 'clsx' import Layout from '@theme/Layout' import CodeBlock from '@theme/CodeBlock' import Link from '@docusaurus/Link' import Translate, { translate } from '@docusaurus/Translate' import useBaseUrl from '@docusaurus/useBaseUrl' import LogoCarousel from '../components/LogoCarousel.tsx' import Features from '../components/Features.tsx' import Section from '../components/Section.tsx' import ImageSwitcher from '../components/ImageSwitcher.tsx' import Highlight from '../components/Highlight.tsx' import Robot from '../components/Robot.tsx' import Sponsors from '../components/Sponsors.tsx' import { CreateProjectAnimation } from '../components/CreateProjectAnimation.tsx' import ContributorList from '../components/Contributors/Contributors.tsx' import styles from './styles.module.css' import { logos, features, LHIntregrationExample, SetupExample, ComponentTestingExample } from '../constants.tsx' const tagline = translate({ id: 'homepage.tagline', message: 'Next-gen browser and mobile automation test framework for Node.js' }) function Home() { const ref = useRef(null) useEffect(() => { if (!window.Ribbons) { return } new window.Ribbons({ colorSaturation: '60%', colorBrightness: '50%', colorAlpha: 0.2, colorCycleSpeed: 5, verticalPosition: 'random', horizontalSpeed: 100, ribbonCount: 3, strokeSize: 0, parallaxAmount: -0.2, animateSections: true, element: ref.current }) }) return (

{tagline}

Get Started Why WebdriverIO? View on GitHub Watch on YouTube
Sponsored by
} isDark title={translate({ id: 'homepage.componentTesting.heading', message: 'E2E and Unit / Component Testing in real Browser!' })} text={<>

all in one), usedBy: (used by your users) }}> {'WebdriverIO is an {allInOne} framework for your web app development. It enables you to run ' + 'small and lightweight component tests as well as running e2e test scenarios in the browser or on ' + 'a mobile device. This guarantees that you to do the testing in an environment {usedBy}.'}

React components) }}> {'It comes with smart selector strategies that simplify interacting e.g. with {reactComponents} or ' + 'running deep selector queries with nested shadow DOM trees. As interactions happen through a standardized ' + 'automation protocol it is guaranteed they behave natively and aren\'t just JavaScript emulated.'}

Easy setup for web component testing with:

Vue.js Nuxt Svelte Preact SolidJS Lit Stencil
} reversed={undefined} /> } reversed title={translate({ id: 'homepage.hightlight.createProject', message: 'Get Started With WebdriverIO within Seconds' })} text={<>

The WebdriverIO testrunner comes with a command line interface that provides a powerful configuration utility and helps you to create your test setup in less than a minute. It lets you pick from available test framework integrations and easily allows to add all supported reporter and service plugins!

With just one simple command you can set up a complete test suite:

on YouTube ) }}> {'Start learning more about WebdriverIO and how to get started {youtubeLink}.'}

} isDark={undefined} /> } isDark title={translate({ id: 'homepage.hightlight.watch', message: 'Watch Talks about WebdriverIO' })} text={<>

My favourite features of WebdriverIO ), videoAuthor: ( Julia Pottinger ), conferenceLink: ( Open Quality Conference ) }}> {'The community around WebdriverIO is actively speaking on various user groups or ' + 'conferences about specific topics around automated testing with WebdriverIO. Check out ' + 'this talk on {youtubeLink} by {videoAuthor} at {conferenceLink}.'}

Klamping ), channelTwo: ( Seventeenth Sep ), channelThree: ( Automation Bro ) }}> {'There is also many YouTube Channels with useful tutorials by community members ' + 'such as {channelOne}, {channelTwo} or {channelThree}.'}

} reversed={undefined} /> } reversed title={translate({ id: 'homepage.hightlight.lighthouse', message: 'Google Lighthouse Integration' })} text={<>

Chrome DevTools ), lighthouseLink: ( Google Lighthouse ), devtoolsServiceLink: ( @wdio/lighthouse-service ) }}> {'WebdriverIO not only runs automation based on the WebDriver protocol, it also leverages ' + 'native browser APIs to enable integrations to popular developer tools such as ' + '{devtoolsLink} or {lighthouseLink}. With the {devtoolsServiceLink} plugin you have access to ' + 'commands for validating if you app is a valid PWA application as well as to commands for ' + 'capturing frontend performance metrics such as `speedIndex` and others.'}

Integration to developer tools such as:

Chrome DevTools Google Lighthouse Axe Accessibility Engine
} isDark={undefined} />
) } export default Home