🏡 index : quine-global/webdriverio.git

import { browser } from '@wdio/globals'
import scripts from './__fixtures__/script.js'

describe('__name polyfill', () => {
    it('suppports __name polyfill for classic sessions', async () => {
        await browser.url('https://guinea-pig.webdriver.io')
        expect(await browser.execute(scripts.someScript, 'foo')).toBe('Hello World! foo')
        expect(await browser.executeAsync(scripts.someAsyncScript, 'foo')).toBe('Hello World! foo')
    })
})

describe('handle windows in webdriver classic', () => {
    it('should handle window closing and switching in WebDriver Classic mode', async () => {
        await browser.url('https://the-internet.herokuapp.com/iframe')
        const elementalSeleniumLink = await $('/html/body/div[3]/div/div/a')
        await elementalSeleniumLink.waitForDisplayed()
        await elementalSeleniumLink.click()
        await browser.waitUntil(async () => (await browser.getWindowHandles()).length === 2)
        await browser.switchWindow('https://elementalselenium.com/')
        await $('#__docusaurus_skipToContent_fallback').waitForDisplayed()
        await browser.closeWindow()
        await $('#__docusaurus_skipToContent_fallback').waitForDisplayed({ reverse: true })
        await browser.waitUntil(async () => (await browser.getWindowHandles()).length === 1)
        await browser.switchWindow('https://the-internet.herokuapp.com/iframe')

        // Verify we're on the original window
        expect(await $('.example h3').getText()).toBe('An iFrame containing the TinyMCE WYSIWYG Editor')
    })
})