Skip to main content

externalBrowseTheWebWithWebdriverIO

This implementation of the ability to BrowseTheWeb enables the Actor to interact with web front-ends using WebdriverIO.

Using WebdriverIO to BrowseTheWeb

import { actorCalled } from '@serenity-js/core'
import { BrowseTheWebWithWebdriverIO } from '@serenity-js/webdriverio-8'
import { By, Navigate, PageElement, Text } from '@serenity-js/web'
import { Ensure, equals } from '@serenity-js/assertions'
import { browser } from '@wdio/globals'

const HomePage = {
title: () =>
PageElement.located(By.css('h1')).describedAs('title')
}

await actorCalled('Wendy')
.whoCan(BrowseTheWebWithWebdriverIO.using(browser)) // `browser` is global in WebdriverIO tests
.attemptsTo(
Navigate.to(`https://serenity-js.org`),
Ensure.that(Text.of(HomePage.title()), equals('Serenity/JS')),
);

Learn more

Hierarchy

  • BrowseTheWeb<WebdriverIO.Element>
    • BrowseTheWebWithWebdriverIO

Index

Constructors

externalconstructor

Methods

staticexternalusing

externaltoJSON

  • Returns a JSON representation of the ability and its current state, if available. The purpose of this method is to enable reporting the state of the ability in a human-readable format, rather than to serialise and deserialise the ability itself.


    Returns SerialisedAbility

externalabilityType

  • Returns the most abstract type of this Ability instance, specifically the first class in the inheritance hierarchy that directly extends the Ability class.

    import { Ability } from '@serenity-js/core';

    class MyAbility extends Ability {}
    class MySpecialisedAbility extends MyAbility {}

    new MyAbility().abilityType(); // returns MyAbility
    new MySpecialisedAbility().abilityType(); // returns MyAbility

    Returns AbilityType<Ability>

externalcurrentPage

  • currentPage(): Promise<Page<Element>>
  • Returns a Page representing the currently active browser tab.


    Returns Promise<Page<Element>>

externalallPages

  • allPages(): Promise<Page<Element>[]>
  • Returns an array of pages representing all the browser tabs available in the current BrowsingSession.


    Returns Promise<Page<Element>[]>

externalbrowserCapabilities