Improve E2E tests

Add tests for private video static endpoints
Fix tests for local firefox
This commit is contained in:
Chocobozzz 2022-10-28 11:19:54 +02:00
parent 672e185bf3
commit 814e9e07ba
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
23 changed files with 335 additions and 205 deletions

View File

@ -0,0 +1 @@
[object Object]

Binary file not shown.

Binary file not shown.

View File

@ -14,8 +14,14 @@ export class AdminConfigPage {
await $('.inner-form-title=' + waitTitles[tab]).waitForDisplayed() await $('.inner-form-title=' + waitTitles[tab]).waitForDisplayed()
} }
updateNSFWSetting (newValue: 'do_not_list' | 'blur' | 'display') { async updateNSFWSetting (newValue: 'do_not_list' | 'blur' | 'display') {
return $('#instanceDefaultNSFWPolicy').selectByAttribute('value', newValue) const elem = $('#instanceDefaultNSFWPolicy')
await elem.waitForDisplayed()
await elem.scrollIntoView(false) // Avoid issues with fixed header on firefox
await elem.waitForClickable()
return elem.selectByAttribute('value', newValue)
} }
updateHomepage (newValue: string) { updateHomepage (newValue: string) {
@ -24,11 +30,15 @@ export class AdminConfigPage {
async toggleSignup () { async toggleSignup () {
const checkbox = await getCheckbox('signupEnabled') const checkbox = await getCheckbox('signupEnabled')
await checkbox.waitForClickable()
await checkbox.click() await checkbox.click()
} }
async save () { async save () {
const button = $('input[type=submit]') const button = $('input[type=submit]')
await button.waitForClickable()
await button.click() await button.click()
} }
} }

View File

@ -2,31 +2,61 @@ import { go } from '../utils'
export class LoginPage { export class LoginPage {
async loginAsRootUser () { constructor (private isMobileDevice: boolean) {
await go('/login')
}
async login (username: string, password: string, url = '/login') {
await go(url)
await browser.execute(`window.localStorage.setItem('no_account_setup_warning_modal', 'true')`)
await browser.execute(`window.localStorage.setItem('no_instance_config_warning_modal', 'true')`) await browser.execute(`window.localStorage.setItem('no_instance_config_warning_modal', 'true')`)
await browser.execute(`window.localStorage.setItem('no_welcome_modal', 'true')`) await browser.execute(`window.localStorage.setItem('no_welcome_modal', 'true')`)
await $('input#username').setValue('root') await $('input#username').setValue(username)
await $('input#password').setValue('test' + this.getSuffix()) await $('input#password').setValue(password)
await browser.pause(1000) await browser.pause(1000)
await $('form input[type=submit]').click() await $('form input[type=submit]').click()
await this.ensureIsLoggedInAs('root') const menuToggle = $('.top-left-block span[role=button]')
if (this.isMobileDevice) {
await browser.pause(1000)
await menuToggle.click()
}
await this.ensureIsLoggedInAs(username)
if (this.isMobileDevice) {
await menuToggle.click()
}
}
async loginAsRootUser () {
return this.login('root', 'test' + this.getSuffix())
}
loginOnPeerTube2 () {
return this.login('e2e', process.env.PEERTUBE2_E2E_PASSWORD, 'https://peertube2.cpy.re/login')
} }
async logout () { async logout () {
await $('.logged-in-more').click() const loggedInMore = $('.logged-in-more')
const logout = () => $('.dropdown-item*=Log out') await loggedInMore.waitForClickable()
await loggedInMore.click()
await logout().waitForDisplayed() const logout = $('.dropdown-item*=Log out')
await logout().click()
await $('.login-buttons-block').waitForDisplayed() await logout.waitForClickable()
await logout.click()
await browser.waitUntil(() => {
return $('.login-buttons-block, my-error-page a[href="/login"]').isDisplayed()
})
} }
async ensureIsLoggedInAs (displayName: string) { async ensureIsLoggedInAs (displayName: string) {

View File

@ -25,6 +25,8 @@ export class MyAccountPage {
await nsfw.waitForDisplayed() await nsfw.waitForDisplayed()
await nsfw.scrollIntoView(false) // Avoid issues with fixed header on firefox await nsfw.scrollIntoView(false) // Avoid issues with fixed header on firefox
await nsfw.waitForClickable()
await nsfw.selectByAttribute('value', newValue) await nsfw.selectByAttribute('value', newValue)
await this.submitVideoSettings() await this.submitVideoSettings()
@ -43,6 +45,8 @@ export class MyAccountPage {
private async submitVideoSettings () { private async submitVideoSettings () {
const submit = $('my-user-video-settings input[type=submit]') const submit = $('my-user-video-settings input[type=submit]')
await submit.waitForClickable()
await submit.scrollIntoView(false) await submit.scrollIntoView(false)
await submit.click() await submit.click()
} }

View File

@ -9,7 +9,7 @@ export class SignupPage {
async clickOnRegisterInMenu () { async clickOnRegisterInMenu () {
const button = this.getRegisterMenuButton() const button = this.getRegisterMenuButton()
await button.waitForDisplayed() await button.waitForClickable()
await button.click() await button.click()
} }
@ -22,6 +22,7 @@ export class SignupPage {
async checkTerms () { async checkTerms () {
const terms = await getCheckbox('terms') const terms = await getCheckbox('terms')
await terms.waitForClickable()
return terms.click() return terms.click()
} }

View File

@ -11,8 +11,8 @@ export class VideoUploadPage {
await $('.upload-video-container').waitForDisplayed() await $('.upload-video-container').waitForDisplayed()
} }
async uploadVideo () { async uploadVideo (fixtureName: 'video.mp4' | 'video2.mp4' | 'video3.mp4') {
const fileToUpload = join(__dirname, '../../fixtures/video.mp4') const fileToUpload = join(__dirname, '../../fixtures/' + fixtureName)
const fileInputSelector = '.upload-video-container input[type=file]' const fileInputSelector = '.upload-video-container input[type=file]'
const parentFileInput = '.upload-video-container .button-file' const parentFileInput = '.upload-video-container .button-file'
@ -36,6 +36,7 @@ export class VideoUploadPage {
async setAsNSFW () { async setAsNSFW () {
const checkbox = await getCheckbox('nsfw') const checkbox = await getCheckbox('nsfw')
await checkbox.waitForClickable()
return checkbox.click() return checkbox.click()
} }
@ -45,7 +46,10 @@ export class VideoUploadPage {
await nameInput.clearValue() await nameInput.clearValue()
await nameInput.setValue(videoName) await nameInput.setValue(videoName)
await this.getSecondStepSubmitButton().click() const button = this.getSecondStepSubmitButton()
await button.waitForClickable()
await button.click()
return browser.waitUntil(async () => { return browser.waitUntil(async () => {
return (await browser.getUrl()).includes('/w/') return (await browser.getUrl()).includes('/w/')

View File

@ -49,7 +49,11 @@ export class VideoWatchPage {
url = url.replace(':3333', ':9001') url = url.replace(':3333', ':9001')
await go(url) await go(url)
await $('.vjs-big-play-button').waitForDisplayed() await this.waitEmbedForDisplayed()
}
waitEmbedForDisplayed () {
return $('.vjs-big-play-button').waitForDisplayed()
} }
isEmbedWarningDisplayed () { isEmbedWarningDisplayed () {

View File

@ -0,0 +1,60 @@
import { LoginPage } from '../po/login.po'
import { PlayerPage } from '../po/player.po'
import { VideoWatchPage } from '../po/video-watch.po'
import { FIXTURE_URLS, go, isMobileDevice, isSafari } from '../utils'
async function checkCorrectlyPlay (playerPage: PlayerPage) {
await playerPage.playAndPauseVideo(false, 2)
expect(await playerPage.getWatchVideoPlayerCurrentTime()).toBeGreaterThanOrEqual(2)
}
describe('Private videos all workflow', () => {
let videoWatchPage: VideoWatchPage
let loginPage: LoginPage
let playerPage: PlayerPage
const internalVideoName = 'Internal E2E test'
beforeEach(async () => {
videoWatchPage = new VideoWatchPage(isMobileDevice(), isSafari())
loginPage = new LoginPage(isMobileDevice())
playerPage = new PlayerPage()
if (!isMobileDevice()) {
await browser.maximizeWindow()
}
})
it('Should log in', async () => {
return loginPage.loginOnPeerTube2()
})
it('Should play an internal webtorrent video', async () => {
await go(FIXTURE_URLS.INTERNAL_WEBTORRENT_VIDEO)
await videoWatchPage.waitWatchVideoName(internalVideoName)
await checkCorrectlyPlay(playerPage)
})
it('Should play an internal HLS video', async () => {
await go(FIXTURE_URLS.INTERNAL_HLS_VIDEO)
await videoWatchPage.waitWatchVideoName(internalVideoName)
await checkCorrectlyPlay(playerPage)
})
it('Should play an internal WebTorrent video in embed', async () => {
await go(FIXTURE_URLS.INTERNAL_EMBED_WEBTORRENT_VIDEO)
await videoWatchPage.waitEmbedForDisplayed()
await checkCorrectlyPlay(playerPage)
})
it('Should play an internal HLS video in embed', async () => {
await go(FIXTURE_URLS.INTERNAL_EMBED_HLS_VIDEO)
await videoWatchPage.waitEmbedForDisplayed()
await checkCorrectlyPlay(playerPage)
})
})

View File

@ -49,7 +49,7 @@ describe('Videos all workflow', () => {
videoUploadPage = new VideoUploadPage() videoUploadPage = new VideoUploadPage()
videoUpdatePage = new VideoUpdatePage() videoUpdatePage = new VideoUpdatePage()
myAccountPage = new MyAccountPage() myAccountPage = new MyAccountPage()
loginPage = new LoginPage() loginPage = new LoginPage(isMobileDevice())
playerPage = new PlayerPage() playerPage = new PlayerPage()
videoListPage = new VideoListPage(isMobileDevice(), isSafari()) videoListPage = new VideoListPage(isMobileDevice(), isSafari())
@ -72,7 +72,7 @@ describe('Videos all workflow', () => {
await videoUploadPage.navigateTo() await videoUploadPage.navigateTo()
await videoUploadPage.uploadVideo() await videoUploadPage.uploadVideo('video.mp4')
return videoUploadPage.validSecondUploadStep(videoName) return videoUploadPage.validSecondUploadStep(videoName)
}) })
@ -147,7 +147,7 @@ describe('Videos all workflow', () => {
await videoUploadPage.navigateTo() await videoUploadPage.navigateTo()
await videoUploadPage.uploadVideo() await videoUploadPage.uploadVideo('video2.mp4')
await videoUploadPage.validSecondUploadStep(video2Name) await videoUploadPage.validSecondUploadStep(video2Name)
await videoWatchPage.clickOnSave() await videoWatchPage.clickOnSave()

View File

@ -11,7 +11,7 @@ describe('Custom server defaults', () => {
before(async () => { before(async () => {
await waitServerUp() await waitServerUp()
loginPage = new LoginPage() loginPage = new LoginPage(isMobileDevice())
videoUploadPage = new VideoUploadPage() videoUploadPage = new VideoUploadPage()
videoWatchPage = new VideoWatchPage(isMobileDevice(), isSafari()) videoWatchPage = new VideoWatchPage(isMobileDevice(), isSafari())
@ -25,7 +25,7 @@ describe('Custom server defaults', () => {
it('Should upload a video with custom default values', async function () { it('Should upload a video with custom default values', async function () {
await videoUploadPage.navigateTo() await videoUploadPage.navigateTo()
await videoUploadPage.uploadVideo() await videoUploadPage.uploadVideo('video.mp4')
await videoUploadPage.validSecondUploadStep('video') await videoUploadPage.validSecondUploadStep('video')
await videoWatchPage.waitWatchVideoName('video') await videoWatchPage.waitWatchVideoName('video')
@ -60,7 +60,7 @@ describe('Custom server defaults', () => {
before(async () => { before(async () => {
await loginPage.loginAsRootUser() await loginPage.loginAsRootUser()
await videoUploadPage.navigateTo() await videoUploadPage.navigateTo()
await videoUploadPage.uploadVideo() await videoUploadPage.uploadVideo('video2.mp4')
await videoUploadPage.setAsPublic() await videoUploadPage.setAsPublic()
await videoUploadPage.validSecondUploadStep('video') await videoUploadPage.validSecondUploadStep('video')

View File

@ -1,7 +1,7 @@
import { AdminPluginPage } from '../po/admin-plugin.po' import { AdminPluginPage } from '../po/admin-plugin.po'
import { LoginPage } from '../po/login.po' import { LoginPage } from '../po/login.po'
import { VideoUploadPage } from '../po/video-upload.po' import { VideoUploadPage } from '../po/video-upload.po'
import { getCheckbox, waitServerUp } from '../utils' import { getCheckbox, isMobileDevice, waitServerUp } from '../utils'
describe('Plugins', () => { describe('Plugins', () => {
let videoUploadPage: VideoUploadPage let videoUploadPage: VideoUploadPage
@ -24,7 +24,7 @@ describe('Plugins', () => {
}) })
beforeEach(async () => { beforeEach(async () => {
loginPage = new LoginPage() loginPage = new LoginPage(isMobileDevice())
videoUploadPage = new VideoUploadPage() videoUploadPage = new VideoUploadPage()
adminPluginPage = new AdminPluginPage() adminPluginPage = new AdminPluginPage()
@ -42,7 +42,7 @@ describe('Plugins', () => {
it('Should have checkbox in video edit page', async () => { it('Should have checkbox in video edit page', async () => {
await videoUploadPage.navigateTo() await videoUploadPage.navigateTo()
await videoUploadPage.uploadVideo() await videoUploadPage.uploadVideo('video.mp4')
await $('span=Super field 4 in main tab').waitForDisplayed() await $('span=Super field 4 in main tab').waitForDisplayed()
@ -54,6 +54,8 @@ describe('Plugins', () => {
it('Should check the checkbox and be able to submit the video', async function () { it('Should check the checkbox and be able to submit the video', async function () {
const checkbox = await getPluginCheckbox() const checkbox = await getPluginCheckbox()
await checkbox.waitForClickable()
await checkbox.click() await checkbox.click()
await expectSubmitState({ disabled: false }) await expectSubmitState({ disabled: false })
@ -61,6 +63,8 @@ describe('Plugins', () => {
it('Should uncheck the checkbox and not be able to submit the video', async function () { it('Should uncheck the checkbox and not be able to submit the video', async function () {
const checkbox = await getPluginCheckbox() const checkbox = await getPluginCheckbox()
await checkbox.waitForClickable()
await checkbox.click() await checkbox.click()
await expectSubmitState({ disabled: true }) await expectSubmitState({ disabled: true })

View File

@ -1,7 +1,7 @@
import { AdminConfigPage } from '../po/admin-config.po' import { AdminConfigPage } from '../po/admin-config.po'
import { LoginPage } from '../po/login.po' import { LoginPage } from '../po/login.po'
import { SignupPage } from '../po/signup.po' import { SignupPage } from '../po/signup.po'
import { waitServerUp } from '../utils' import { isMobileDevice, waitServerUp } from '../utils'
describe('Signup', () => { describe('Signup', () => {
let loginPage: LoginPage let loginPage: LoginPage
@ -13,7 +13,7 @@ describe('Signup', () => {
}) })
beforeEach(async () => { beforeEach(async () => {
loginPage = new LoginPage() loginPage = new LoginPage(isMobileDevice())
adminConfigPage = new AdminConfigPage() adminConfigPage = new AdminConfigPage()
signupPage = new SignupPage() signupPage = new SignupPage()

View File

@ -15,7 +15,7 @@ describe('User settings', () => {
before(async () => { before(async () => {
await waitServerUp() await waitServerUp()
loginPage = new LoginPage() loginPage = new LoginPage(isMobileDevice())
videoUploadPage = new VideoUploadPage() videoUploadPage = new VideoUploadPage()
videoWatchPage = new VideoWatchPage(isMobileDevice(), isSafari()) videoWatchPage = new VideoWatchPage(isMobileDevice(), isSafari())
myAccountPage = new MyAccountPage() myAccountPage = new MyAccountPage()
@ -43,7 +43,7 @@ describe('User settings', () => {
before(async () => { before(async () => {
await loginPage.loginAsRootUser() await loginPage.loginAsRootUser()
await videoUploadPage.navigateTo() await videoUploadPage.navigateTo()
await videoUploadPage.uploadVideo() await videoUploadPage.uploadVideo('video.mp4')
await videoUploadPage.validSecondUploadStep('video') await videoUploadPage.validSecondUploadStep('video')
await videoWatchPage.waitWatchVideoName('video') await videoWatchPage.waitWatchVideoName('video')

View File

@ -106,7 +106,7 @@ describe('Videos list', () => {
beforeEach(async () => { beforeEach(async () => {
videoListPage = new VideoListPage(isMobileDevice(), isSafari()) videoListPage = new VideoListPage(isMobileDevice(), isSafari())
adminConfigPage = new AdminConfigPage() adminConfigPage = new AdminConfigPage()
loginPage = new LoginPage() loginPage = new LoginPage(isMobileDevice())
videoUploadPage = new VideoUploadPage() videoUploadPage = new VideoUploadPage()
myAccountPage = new MyAccountPage() myAccountPage = new MyAccountPage()
videoSearchPage = new VideoSearchPage() videoSearchPage = new VideoSearchPage()
@ -128,12 +128,12 @@ describe('Videos list', () => {
it('Should upload 2 videos (NSFW and classic videos)', async () => { it('Should upload 2 videos (NSFW and classic videos)', async () => {
await videoUploadPage.navigateTo() await videoUploadPage.navigateTo()
await videoUploadPage.uploadVideo() await videoUploadPage.uploadVideo('video.mp4')
await videoUploadPage.setAsNSFW() await videoUploadPage.setAsNSFW()
await videoUploadPage.validSecondUploadStep(nsfwVideo) await videoUploadPage.validSecondUploadStep(nsfwVideo)
await videoUploadPage.navigateTo() await videoUploadPage.navigateTo()
await videoUploadPage.uploadVideo() await videoUploadPage.uploadVideo('video2.mp4')
await videoUploadPage.validSecondUploadStep(normalVideo) await videoUploadPage.validSecondUploadStep(normalVideo)
}) })
@ -205,7 +205,7 @@ describe('Videos list', () => {
it('Should have default video values', async function () { it('Should have default video values', async function () {
await loginPage.loginAsRootUser() await loginPage.loginAsRootUser()
await videoUploadPage.navigateTo() await videoUploadPage.navigateTo()
await videoUploadPage.uploadVideo() await videoUploadPage.uploadVideo('video3.mp4')
await videoUploadPage.validSecondUploadStep('video') await videoUploadPage.validSecondUploadStep('video')
await videoWatchPage.waitWatchVideoName('video') await videoWatchPage.waitWatchVideoName('video')

View File

@ -6,7 +6,10 @@ async function getCheckbox (name: string) {
} }
async function selectCustomSelect (id: string, valueLabel: string) { async function selectCustomSelect (id: string, valueLabel: string) {
await $(`[formcontrolname=${id}] .ng-arrow-wrapper`).click() const wrapper = $(`[formcontrolname=${id}] .ng-arrow-wrapper`)
await wrapper.waitForClickable()
await wrapper.click()
const option = await $$(`[formcontrolname=${id}] .ng-option`).filter(async o => { const option = await $$(`[formcontrolname=${id}] .ng-option`).filter(async o => {
const text = await o.getText() const text = await o.getText()

View File

@ -68,5 +68,13 @@ function buildConfig (suiteFile: string = undefined) {
} }
} }
if (filename === 'signup.e2e-spec.ts') {
return {
signup: {
enabled: true
}
}
}
return {} return {}
} }

View File

@ -1,4 +1,9 @@
const FIXTURE_URLS = { const FIXTURE_URLS = {
INTERNAL_WEBTORRENT_VIDEO: 'https://peertube2.cpy.re/w/pwfz7NizSdPD4mJcbbmNwa?mode=webtorrent',
INTERNAL_HLS_VIDEO: 'https://peertube2.cpy.re/w/pwfz7NizSdPD4mJcbbmNwa',
INTERNAL_EMBED_WEBTORRENT_VIDEO: 'https://peertube2.cpy.re/videos/embed/pwfz7NizSdPD4mJcbbmNwa?mode=webtorrent',
INTERNAL_EMBED_HLS_VIDEO: 'https://peertube2.cpy.re/videos/embed/pwfz7NizSdPD4mJcbbmNwa',
WEBTORRENT_VIDEO: 'https://peertube2.cpy.re/w/122d093a-1ede-43bd-bd34-59d2931ffc5e', WEBTORRENT_VIDEO: 'https://peertube2.cpy.re/w/122d093a-1ede-43bd-bd34-59d2931ffc5e',
HLS_EMBED: 'https://peertube2.cpy.re/videos/embed/969bf103-7818-43b5-94a0-de159e13de50', HLS_EMBED: 'https://peertube2.cpy.re/videos/embed/969bf103-7818-43b5-94a0-de159e13de50',

View File

@ -26,9 +26,18 @@ module.exports = {
prefs prefs
} }
} }
// {
// browserName: 'firefox',
// 'moz:firefoxOptions': {
// binary: '/usr/bin/firefox-developer-edition',
// args: [ '--headless', '--window-size=1280,1024' ],
// prefs
// }
// }
], ],
services: [ 'chromedriver' ], services: [ 'chromedriver', 'geckodriver' ],
beforeSession: beforeLocalSession, beforeSession: beforeLocalSession,
beforeSuite: beforeLocalSuite, beforeSuite: beforeLocalSuite,

View File

@ -98,7 +98,8 @@ export const config = {
// See the full list at http://mochajs.org/ // See the full list at http://mochajs.org/
mochaOpts: { mochaOpts: {
ui: 'bdd', ui: 'bdd',
timeout: 60000 timeout: 60000,
bail: true
}, },
autoCompileOpts: { autoCompileOpts: {

View File

@ -71,11 +71,11 @@
"@types/webtorrent": "^0.109.0", "@types/webtorrent": "^0.109.0",
"@typescript-eslint/eslint-plugin": "^5.31.0", "@typescript-eslint/eslint-plugin": "^5.31.0",
"@typescript-eslint/parser": "^5.31.0", "@typescript-eslint/parser": "^5.31.0",
"@wdio/browserstack-service": "^7.20.2", "@wdio/browserstack-service": "^7.25.2",
"@wdio/cli": "^7.20.2", "@wdio/cli": "^7.25.2",
"@wdio/local-runner": "^7.20.2", "@wdio/local-runner": "^7.25.2",
"@wdio/mocha-framework": "^7.20.0", "@wdio/mocha-framework": "^7.25.2",
"@wdio/spec-reporter": "^7.20.0", "@wdio/spec-reporter": "^7.25.1",
"angular2-hotkeys": "^13.1.0", "angular2-hotkeys": "^13.1.0",
"angularx-qrcode": "14.0.0", "angularx-qrcode": "14.0.0",
"babel-loader": "^8.2.5", "babel-loader": "^8.2.5",
@ -95,7 +95,7 @@
"eslint-plugin-prefer-arrow": "latest", "eslint-plugin-prefer-arrow": "latest",
"expect-webdriverio": "^3.4.0", "expect-webdriverio": "^3.4.0",
"focus-visible": "^5.0.2", "focus-visible": "^5.0.2",
"geckodriver": "^3.0.1", "geckodriver": "^3.2.0",
"hls.js": "1.2.2", "hls.js": "1.2.2",
"html-loader": "^4.1.0", "html-loader": "^4.1.0",
"html-webpack-plugin": "^5.3.1", "html-webpack-plugin": "^5.3.1",
@ -132,8 +132,8 @@
"url": "^0.11.0", "url": "^0.11.0",
"video.js": "^7.19.2", "video.js": "^7.19.2",
"videostream": "~3.2.1", "videostream": "~3.2.1",
"wdio-chromedriver-service": "^7.3.2", "wdio-chromedriver-service": "^8.0.0",
"wdio-geckodriver-service": "^3.0.2", "wdio-geckodriver-service": "^4.0.0",
"webpack": "^5.73.0", "webpack": "^5.73.0",
"webpack-bundle-analyzer": "^4.4.2", "webpack-bundle-analyzer": "^4.4.2",
"webpack-cli": "^4.10.0", "webpack-cli": "^4.10.0",

View File

@ -2212,10 +2212,10 @@
resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c"
integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==
"@types/mocha@^9.0.0": "@types/mocha@^10.0.0":
version "9.1.1" version "10.0.0"
resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-9.1.1.tgz#e7c4f1001eefa4b8afbd1eee27a237fee3bf29c4" resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.0.tgz#3d9018c575f0e3f7386c1de80ee66cc21fbb7a52"
integrity sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw== integrity sha512-rADY+HtTOA52l9VZWtgQfn4p+UDVM2eDVkMZT1I6syp0YKxW2F9v+0pbRZLsvskhQv/vMb6ZfCay81GHbz5SHg==
"@types/mousetrap@^1.6.9": "@types/mousetrap@^1.6.9":
version "1.6.9" version "1.6.9"
@ -2557,22 +2557,23 @@
global "~4.4.0" global "~4.4.0"
is-function "^1.0.1" is-function "^1.0.1"
"@wdio/browserstack-service@^7.20.2": "@wdio/browserstack-service@^7.25.2":
version "7.24.0" version "7.25.2"
resolved "https://registry.yarnpkg.com/@wdio/browserstack-service/-/browserstack-service-7.24.0.tgz#9cebe702799efa8ff103218ac8fcc73ccf380f8d" resolved "https://registry.yarnpkg.com/@wdio/browserstack-service/-/browserstack-service-7.25.2.tgz#635df04cb6559118c10a6483245939a9d7b7db5a"
integrity sha512-vxfgA0OkBqI4OD16ZpIjOMF+2w8zvvaCPLK/iudek97OFysmFOMCQztF3/OSuALrvIRZsdGCd3kQHD04izrecA== integrity sha512-h66RAPgJoOBfIb3/hfCsaza16HE2RCA239xiMQEIawPv4gluKYVuFzwMXnfJx6sTa/+5aRdsgQkiFZ0TI5un1A==
dependencies: dependencies:
"@types/node" "^18.0.0" "@types/node" "^18.0.0"
"@wdio/logger" "7.19.0" "@wdio/logger" "7.19.0"
"@wdio/types" "7.24.0" "@wdio/types" "7.25.1"
browserstack-local "^1.4.5" browserstack-local "^1.4.5"
form-data "^4.0.0"
got "^11.0.2" got "^11.0.2"
webdriverio "7.24.0" webdriverio "7.25.2"
"@wdio/cli@^7.20.2": "@wdio/cli@^7.25.2":
version "7.24.0" version "7.25.2"
resolved "https://registry.yarnpkg.com/@wdio/cli/-/cli-7.24.0.tgz#c2049b64396b4b6f7b7a4f77f3cffd346a870192" resolved "https://registry.yarnpkg.com/@wdio/cli/-/cli-7.25.2.tgz#81b1933457184c4fcd705d13e96798e4ad229900"
integrity sha512-eP1f6Bw8glrMDMVzeLfb1PU3COSUn7PnMeJE210nuVarBBnfwKIJmu4WrYoYyImOThnmuiYMGpI8pbyBfm23nA== integrity sha512-jpQmPR14D2nIBKby6I21zSHNQAPayZXmu+3IBNRe3SDTNEAHb9jZuyhj4IdoaPilfXrJAzQ2BRql6/T2oA29Yw==
dependencies: dependencies:
"@types/ejs" "^3.0.5" "@types/ejs" "^3.0.5"
"@types/fs-extra" "^9.0.4" "@types/fs-extra" "^9.0.4"
@ -2582,11 +2583,11 @@
"@types/lodash.union" "^4.6.6" "@types/lodash.union" "^4.6.6"
"@types/node" "^18.0.0" "@types/node" "^18.0.0"
"@types/recursive-readdir" "^2.2.0" "@types/recursive-readdir" "^2.2.0"
"@wdio/config" "7.24.0" "@wdio/config" "7.25.1"
"@wdio/logger" "7.19.0" "@wdio/logger" "7.19.0"
"@wdio/protocols" "7.22.0" "@wdio/protocols" "7.22.0"
"@wdio/types" "7.24.0" "@wdio/types" "7.25.1"
"@wdio/utils" "7.24.0" "@wdio/utils" "7.25.1"
async-exit-hook "^2.0.1" async-exit-hook "^2.0.1"
chalk "^4.0.0" chalk "^4.0.0"
chokidar "^3.0.0" chokidar "^3.0.0"
@ -2599,36 +2600,36 @@
lodash.union "^4.6.0" lodash.union "^4.6.0"
mkdirp "^1.0.4" mkdirp "^1.0.4"
recursive-readdir "^2.2.2" recursive-readdir "^2.2.2"
webdriverio "7.24.0" webdriverio "7.25.2"
yargs "^17.0.0" yargs "^17.0.0"
yarn-install "^1.0.0" yarn-install "^1.0.0"
"@wdio/config@7.24.0": "@wdio/config@7.25.1":
version "7.24.0" version "7.25.1"
resolved "https://registry.yarnpkg.com/@wdio/config/-/config-7.24.0.tgz#ac29f8c25df8bba29bd811a386a46ff05386b213" resolved "https://registry.yarnpkg.com/@wdio/config/-/config-7.25.1.tgz#1a094e639343466adcea678fc443daef041dc7b3"
integrity sha512-MSIuwbs7JeOh9eMiFP3nVYDyaK3jYv7HY4eJIfvl6TBo4G1mTjbF1Dnct38W0ZR5WIFeSKhl15LiumbNUv0pyA== integrity sha512-7I3L+TE75gvh8jiv8cE/Ch9S9erDgrZG9o5587OlNKfpgFciT7DH7/efPXzYwh8YPFV3grFaydxaaoYzDv6PDA==
dependencies: dependencies:
"@wdio/logger" "7.19.0" "@wdio/logger" "7.19.0"
"@wdio/types" "7.24.0" "@wdio/types" "7.25.1"
"@wdio/utils" "7.24.0" "@wdio/utils" "7.25.1"
deepmerge "^4.0.0" deepmerge "^4.0.0"
glob "^8.0.3" glob "^8.0.3"
"@wdio/local-runner@^7.20.2": "@wdio/local-runner@^7.25.2":
version "7.24.0" version "7.25.2"
resolved "https://registry.yarnpkg.com/@wdio/local-runner/-/local-runner-7.24.0.tgz#f6903b18ee816ce2a9f0a082ea64e56d6b4c0408" resolved "https://registry.yarnpkg.com/@wdio/local-runner/-/local-runner-7.25.2.tgz#e2fe3f366018d80b01c3c58153b5bd85e97b3e3d"
integrity sha512-woNmoNNDTouPuom9Hl2l/7J9ZMAxb6cRVI8B0SEJAV32tDcMfm773RQB9qxtpBxZHQf43LHjcq75BWB/zRrI5g== integrity sha512-6FXuGSX7UNpMLmH2k0dpCZRxgiX7nF6kDN+NjUyUNdp2H6qLHxkOdpNTI0rIijamHEFADjGoeYAluybu6QtbmA==
dependencies: dependencies:
"@types/stream-buffers" "^3.0.3" "@types/stream-buffers" "^3.0.3"
"@wdio/logger" "7.19.0" "@wdio/logger" "7.19.0"
"@wdio/repl" "7.24.0" "@wdio/repl" "7.25.1"
"@wdio/runner" "7.24.0" "@wdio/runner" "7.25.2"
"@wdio/types" "7.24.0" "@wdio/types" "7.25.1"
async-exit-hook "^2.0.1" async-exit-hook "^2.0.1"
split2 "^4.0.0" split2 "^4.0.0"
stream-buffers "^3.0.2" stream-buffers "^3.0.2"
"@wdio/logger@7.19.0", "@wdio/logger@^7.19.0", "@wdio/logger@^7.5.3": "@wdio/logger@7.19.0":
version "7.19.0" version "7.19.0"
resolved "https://registry.yarnpkg.com/@wdio/logger/-/logger-7.19.0.tgz#23697a4b4aaea56c3bd477a0393af2a5c175fc85" resolved "https://registry.yarnpkg.com/@wdio/logger/-/logger-7.19.0.tgz#23697a4b4aaea56c3bd477a0393af2a5c175fc85"
integrity sha512-xR7SN/kGei1QJD1aagzxs3KMuzNxdT/7LYYx+lt6BII49+fqL/SO+5X0FDCZD0Ds93AuQvvz9eGyzrBI2FFXmQ== integrity sha512-xR7SN/kGei1QJD1aagzxs3KMuzNxdT/7LYYx+lt6BII49+fqL/SO+5X0FDCZD0Ds93AuQvvz9eGyzrBI2FFXmQ==
@ -2638,15 +2639,25 @@
loglevel-plugin-prefix "^0.8.4" loglevel-plugin-prefix "^0.8.4"
strip-ansi "^6.0.0" strip-ansi "^6.0.0"
"@wdio/mocha-framework@^7.20.0": "@wdio/logger@^8.0.0-alpha.219":
version "7.24.0" version "8.0.0-alpha.412"
resolved "https://registry.yarnpkg.com/@wdio/mocha-framework/-/mocha-framework-7.24.0.tgz#8b3f747f7701cc2e3b79de4226c8ae7dda2141b2" resolved "https://registry.yarnpkg.com/@wdio/logger/-/logger-8.0.0-alpha.412.tgz#ac483688a295d5882d6ad78efd25c214dbcae3be"
integrity sha512-8nadTD2mUGZnccGAdv4yAhqibrePYIlnhcxUXc2OpnMtO9Zey8TmZ8FlCHJ2tSvplkGNqq4X7SVK9lHatYH2yg== integrity sha512-p1jAM/viND/kAicRvIf2mXGLbQD3B0X9eC4CcpHfw4YUBr9+EMyLgo+CPIe3qJogug/pbhbVKpTuvE+wemv8Mg==
dependencies: dependencies:
"@types/mocha" "^9.0.0" chalk "^4.0.0"
loglevel "^1.6.0"
loglevel-plugin-prefix "^0.8.4"
strip-ansi "^6.0.0"
"@wdio/mocha-framework@^7.25.2":
version "7.25.2"
resolved "https://registry.yarnpkg.com/@wdio/mocha-framework/-/mocha-framework-7.25.2.tgz#64a91310d9e1212c9a6c5a9739076b0c409717a3"
integrity sha512-XoNrkvPNpK90j8wF4DZsG02+bzDHlVxgP9WVksLd0Gh6f0Z6vRWT7S7ZNO4UsvOe3TIUyobLg8ZgMMU2cBMaPw==
dependencies:
"@types/mocha" "^10.0.0"
"@wdio/logger" "7.19.0" "@wdio/logger" "7.19.0"
"@wdio/types" "7.24.0" "@wdio/types" "7.25.1"
"@wdio/utils" "7.24.0" "@wdio/utils" "7.25.1"
expect-webdriverio "^3.0.0" expect-webdriverio "^3.0.0"
mocha "^10.0.0" mocha "^10.0.0"
@ -2655,70 +2666,70 @@
resolved "https://registry.yarnpkg.com/@wdio/protocols/-/protocols-7.22.0.tgz#d89faef687cb08981d734bbc5e5dffc6fb5a064c" resolved "https://registry.yarnpkg.com/@wdio/protocols/-/protocols-7.22.0.tgz#d89faef687cb08981d734bbc5e5dffc6fb5a064c"
integrity sha512-8EXRR+Ymdwousm/VGtW3H1hwxZ/1g1H99A1lF0U4GuJ5cFWHCd0IVE5H31Z52i8ZruouW8jueMkGZPSo2IIUSQ== integrity sha512-8EXRR+Ymdwousm/VGtW3H1hwxZ/1g1H99A1lF0U4GuJ5cFWHCd0IVE5H31Z52i8ZruouW8jueMkGZPSo2IIUSQ==
"@wdio/repl@7.24.0": "@wdio/repl@7.25.1":
version "7.24.0" version "7.25.1"
resolved "https://registry.yarnpkg.com/@wdio/repl/-/repl-7.24.0.tgz#bb3ce2e9804fec3b803552efe3f8a056e274e026" resolved "https://registry.yarnpkg.com/@wdio/repl/-/repl-7.25.1.tgz#9c0e1b9a3db90ff438fde63f34da1f3966bcca58"
integrity sha512-DloYlOMCgENnWk4PWDqCkZCieHdl1BwSc/EOU3czQMt4KV8qTm1SyMbeCSgaAjVWiNEYTkRodupia2sJGYtIJA== integrity sha512-3DUtOrLi5thba22IBn/XQ7caFrbXtYOg3750UtXxUuxXU4QHkKq1AN8+WXr4Rq2EnXfB2G9t9pEdqjZSv9oPAw==
dependencies: dependencies:
"@wdio/utils" "7.24.0" "@wdio/utils" "7.25.1"
"@wdio/reporter@7.24.0": "@wdio/reporter@7.25.1":
version "7.24.0" version "7.25.1"
resolved "https://registry.yarnpkg.com/@wdio/reporter/-/reporter-7.24.0.tgz#36e26d86d57418472af7466bdaa16dc4535f3d1d" resolved "https://registry.yarnpkg.com/@wdio/reporter/-/reporter-7.25.1.tgz#a241745b20136393568958e29840d49caa873f02"
integrity sha512-iZUQpF3zHmBH+4GWZYqf9/yDxmufSGmfIn0GkZHhiymv+pIN8y8zTNlZ5OH6t0h+ICdeoAOxlBEUBMy4eVRhHQ== integrity sha512-MLEiuoQGFn1ZD5FvzWFdsInuJT7TF/E1sg81mwlMjm5iFpuTvbPCUQq3uJ24xnXfMbw/HLZUnhPqC47+KTKTkw==
dependencies: dependencies:
"@types/diff" "^5.0.0" "@types/diff" "^5.0.0"
"@types/node" "^18.0.0" "@types/node" "^18.0.0"
"@types/object-inspect" "^1.8.0" "@types/object-inspect" "^1.8.0"
"@types/supports-color" "^8.1.0" "@types/supports-color" "^8.1.0"
"@types/tmp" "^0.2.0" "@types/tmp" "^0.2.0"
"@wdio/types" "7.24.0" "@wdio/types" "7.25.1"
diff "^5.0.0" diff "^5.0.0"
fs-extra "^10.0.0" fs-extra "^10.0.0"
object-inspect "^1.10.3" object-inspect "^1.10.3"
supports-color "8.1.1" supports-color "8.1.1"
"@wdio/runner@7.24.0": "@wdio/runner@7.25.2":
version "7.24.0" version "7.25.2"
resolved "https://registry.yarnpkg.com/@wdio/runner/-/runner-7.24.0.tgz#d81fb017062e0b482e14b590db284e6b4eb17812" resolved "https://registry.yarnpkg.com/@wdio/runner/-/runner-7.25.2.tgz#1991c8fa09d9840f8bb3d645f47722418ab25043"
integrity sha512-OfFQPV2eR/asJDEqfI8YTF5CuJpzgkMItjrHNyUKMhLy5E6Vc6LKQ/+K1wlJhnf/mJLOYQmU2ha0AL97V7+ldw== integrity sha512-0fQe9qmYPmbZ+PiDmZw6uy9XEx0A8+VhQAxyUSp/K9NCDUABY+I1tCSHCY/0mzlwk+ykscn8+qhaN1g9LvBtPA==
dependencies: dependencies:
"@wdio/config" "7.24.0" "@wdio/config" "7.25.1"
"@wdio/logger" "7.19.0" "@wdio/logger" "7.19.0"
"@wdio/types" "7.24.0" "@wdio/types" "7.25.1"
"@wdio/utils" "7.24.0" "@wdio/utils" "7.25.1"
deepmerge "^4.0.0" deepmerge "^4.0.0"
gaze "^1.1.2" gaze "^1.1.2"
webdriver "7.24.0" webdriver "7.25.1"
webdriverio "7.24.0" webdriverio "7.25.2"
"@wdio/spec-reporter@^7.20.0": "@wdio/spec-reporter@^7.25.1":
version "7.24.0" version "7.25.1"
resolved "https://registry.yarnpkg.com/@wdio/spec-reporter/-/spec-reporter-7.24.0.tgz#20fc0cfb660999cd900e07efdeb5095cb5baf4fd" resolved "https://registry.yarnpkg.com/@wdio/spec-reporter/-/spec-reporter-7.25.1.tgz#01315a3ff718bcc017bd59696b856b09e15b6293"
integrity sha512-BKdVad0srzIq+grzSZ3NUiA3NUSkCazwfc1AXuODqBhwp72gvoR14b4JLOnzAaT0mQ+GvJrjL05gu9sFVD5ziw== integrity sha512-CazLMJGWh0b+eWtiSmWGfFCl+nB1LHwST30gWsBJ44Xtd/rwl7rXi76Uq/qE2a2kwUs0Od6NLK7ZCa+ISejqwQ==
dependencies: dependencies:
"@types/easy-table" "^1.2.0" "@types/easy-table" "^1.2.0"
"@wdio/reporter" "7.24.0" "@wdio/reporter" "7.25.1"
"@wdio/types" "7.24.0" "@wdio/types" "7.25.1"
chalk "^4.0.0" chalk "^4.0.0"
easy-table "^1.1.1" easy-table "^1.1.1"
pretty-ms "^7.0.0" pretty-ms "^7.0.0"
"@wdio/types@7.24.0": "@wdio/types@7.25.1":
version "7.24.0" version "7.25.1"
resolved "https://registry.yarnpkg.com/@wdio/types/-/types-7.24.0.tgz#ded79460f8a2a4892232e2707fb8d0ce3694bfd5" resolved "https://registry.yarnpkg.com/@wdio/types/-/types-7.25.1.tgz#9e06f5479bc3c95f78811ba77dd96470417f882a"
integrity sha512-wJZ+1lIHFz5aWXSO+k91wX8tfZdpyX4YYoker5xfC4zvM7ypyK81dZyiE5whS+QFL3VTCPP8dXNjwX5f5h+YEw== integrity sha512-9Xt2U0YXYxRW4UvMFwjt+44UkfhwrI1gPhW+y56SubpyKaUfdNGberteboQoR/7Os1SVtJry4FohEZNmFzPK6g==
dependencies: dependencies:
"@types/node" "^18.0.0" "@types/node" "^18.0.0"
got "^11.8.1" got "^11.8.1"
"@wdio/utils@7.24.0": "@wdio/utils@7.25.1":
version "7.24.0" version "7.25.1"
resolved "https://registry.yarnpkg.com/@wdio/utils/-/utils-7.24.0.tgz#f6d4c8fce057a2064f87fe6e4f8fa77286058129" resolved "https://registry.yarnpkg.com/@wdio/utils/-/utils-7.25.1.tgz#29bfe7e2dcd4f9b31868f069afa1eb761e96b8a7"
integrity sha512-VWfFT1Ket3pAt19kY5lPRuwJDheKF4hMwG0AiezkqqerDl/m+fcb4a6pj1WHjlawvlYM4MM15iBZFxYfphG9lg== integrity sha512-DL+nDRVgzruJLhedBUQEMUcojLoGwsjCQCYWram4NfwAIIkxcAX/5Y4vHSut3OoW2bEHl3R8/FQ4B/ivIr2EoQ==
dependencies: dependencies:
"@wdio/logger" "7.19.0" "@wdio/logger" "7.19.0"
"@wdio/types" "7.24.0" "@wdio/types" "7.25.1"
p-iteration "^1.1.8" p-iteration "^1.1.8"
"@webassemblyjs/ast@1.11.1": "@webassemblyjs/ast@1.11.1":
@ -3234,11 +3245,6 @@ asynckit@^0.4.0:
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
at-least-node@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
atob@^2.1.2: atob@^2.1.2:
version "2.1.2" version "2.1.2"
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
@ -4590,29 +4596,29 @@ devtools-protocol@0.0.981744:
resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.981744.tgz#9960da0370284577d46c28979a0b32651022bacf" resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.981744.tgz#9960da0370284577d46c28979a0b32651022bacf"
integrity sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg== integrity sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg==
devtools-protocol@^0.0.1040073: devtools-protocol@^0.0.1056733:
version "0.0.1040073" version "0.0.1056733"
resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1040073.tgz#9ca5e033c9a52d3811c76903642973e3be75b5ca" resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1056733.tgz#55bb1d56761014cc221131cca5e6bad94eefb2b9"
integrity sha512-+iipnm2hvmlWs4MVNx7HwSTxhDxsXnQyK5F1OalZVXeUhdPgP/23T42NCyg0TK3wL/Yg92SVrSuGKqdg12o54w== integrity sha512-CmTu6SQx2g3TbZzDCAV58+LTxVdKplS7xip0g5oDXpZ+isr0rv5dDP8ToyVRywzPHkCCPKgKgScEcwz4uPWDIA==
devtools@7.24.0: devtools@7.25.1:
version "7.24.0" version "7.25.1"
resolved "https://registry.yarnpkg.com/devtools/-/devtools-7.24.0.tgz#7ae2d6216ca578fe75e64affcb5998998b654fb1" resolved "https://registry.yarnpkg.com/devtools/-/devtools-7.25.1.tgz#64ad59db9a769e68d70afbf1bc1b456bd9ced7e8"
integrity sha512-QcUacRC+qf5cNGkiWAO/HM+0pM4onlYL7+AafZfpZVN8GOhrvWHeyzM9mxmlMwM+aU2NcRK+cYVCbB0gZL9MGA== integrity sha512-01T8QZeiD92MpI/7rP8kUflN3XcMqv2moa07123OjjENuuOhYxRWmJ7xj94txnF5PJp1Cv8/jvK8EUbnEHf6MQ==
dependencies: dependencies:
"@types/node" "^18.0.0" "@types/node" "^18.0.0"
"@types/ua-parser-js" "^0.7.33" "@types/ua-parser-js" "^0.7.33"
"@wdio/config" "7.24.0" "@wdio/config" "7.25.1"
"@wdio/logger" "7.19.0" "@wdio/logger" "7.19.0"
"@wdio/protocols" "7.22.0" "@wdio/protocols" "7.22.0"
"@wdio/types" "7.24.0" "@wdio/types" "7.25.1"
"@wdio/utils" "7.24.0" "@wdio/utils" "7.25.1"
chrome-launcher "^0.15.0" chrome-launcher "^0.15.0"
edge-paths "^2.1.0" edge-paths "^2.1.0"
puppeteer-core "^13.1.3" puppeteer-core "^13.1.3"
query-selector-shadow-dom "^1.0.0" query-selector-shadow-dom "^1.0.0"
ua-parser-js "^1.0.1" ua-parser-js "^1.0.1"
uuid "^8.0.0" uuid "^9.0.0"
dexie@^3.2.2: dexie@^3.2.2:
version "3.2.2" version "3.2.2"
@ -5689,16 +5695,6 @@ fs-extra@^10.0.0, fs-extra@^10.1.0:
jsonfile "^6.0.1" jsonfile "^6.0.1"
universalify "^2.0.0" universalify "^2.0.0"
fs-extra@^9.1.0:
version "9.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
dependencies:
at-least-node "^1.0.0"
graceful-fs "^4.2.0"
jsonfile "^6.0.1"
universalify "^2.0.0"
fs-minipass@^2.0.0, fs-minipass@^2.1.0: fs-minipass@^2.0.0, fs-minipass@^2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
@ -5767,15 +5763,15 @@ gaze@^1.1.2:
dependencies: dependencies:
globule "^1.0.0" globule "^1.0.0"
geckodriver@^3.0.1: geckodriver@^3.2.0:
version "3.0.2" version "3.2.0"
resolved "https://registry.yarnpkg.com/geckodriver/-/geckodriver-3.0.2.tgz#6bd69166a24859c5edbc6ece9868339378b6c97b" resolved "https://registry.yarnpkg.com/geckodriver/-/geckodriver-3.2.0.tgz#6b0a85e2aafbce209bca30e2d53af857707b1034"
integrity sha512-GHOQzQnTeZOJdcdEXLuzmcRwkbHuei1VivXkn2BLyleKiT6lTvl0T7vm+d0wvr/EZC7jr0m1u1pBHSfqtuFuNQ== integrity sha512-p+qR2RKlI/TQoCEYrSuTaYCLqsJNni96WmEukTyXmOmLn+3FLdgPAEwMZ0sG2Cwi9hozUzGAWyT6zLuhF6cpiQ==
dependencies: dependencies:
adm-zip "0.5.9" adm-zip "0.5.9"
bluebird "3.7.2" bluebird "3.7.2"
got "11.8.5" got "11.8.5"
https-proxy-agent "5.0.0" https-proxy-agent "5.0.1"
tar "6.1.11" tar "6.1.11"
gensync@^1.0.0-beta.2: gensync@^1.0.0-beta.2:
@ -5812,10 +5808,10 @@ get-package-type@^0.1.0:
resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
get-port@^5.1.1: get-port@^6.1.2:
version "5.1.1" version "6.1.2"
resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" resolved "https://registry.yarnpkg.com/get-port/-/get-port-6.1.2.tgz#c1228abb67ba0e17fb346da33b15187833b9c08a"
integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== integrity sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==
get-stdin@^8.0.0: get-stdin@^8.0.0:
version "8.0.0" version "8.0.0"
@ -6317,14 +6313,6 @@ https-browserify@^1.0.0:
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==
https-proxy-agent@5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2"
integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==
dependencies:
agent-base "6"
debug "4"
https-proxy-agent@5.0.1, https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: https-proxy-agent@5.0.1, https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1:
version "5.0.1" version "5.0.1"
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
@ -9445,7 +9433,7 @@ readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.5:
string_decoder "~1.1.1" string_decoder "~1.1.1"
util-deprecate "~1.0.1" util-deprecate "~1.0.1"
readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0:
version "3.6.0" version "3.6.0"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
@ -10294,13 +10282,6 @@ speedometer@^1.1.0:
resolved "https://registry.yarnpkg.com/speedometer/-/speedometer-1.1.0.tgz#a30b13abda45687a1a76977012c060f2ac8a7934" resolved "https://registry.yarnpkg.com/speedometer/-/speedometer-1.1.0.tgz#a30b13abda45687a1a76977012c060f2ac8a7934"
integrity sha512-z/wAiTESw2XVPssY2XRcme4niTc4S5FkkJ4gknudtVoc33Zil8TdTxHy5torRcgqMqksJV2Yz8HQcvtbsnw0mQ== integrity sha512-z/wAiTESw2XVPssY2XRcme4niTc4S5FkkJ4gknudtVoc33Zil8TdTxHy5torRcgqMqksJV2Yz8HQcvtbsnw0mQ==
split2@^3.2.2:
version "3.2.2"
resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f"
integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==
dependencies:
readable-stream "^3.0.0"
split2@^4.0.0, split2@^4.1.0: split2@^4.0.0, split2@^4.1.0:
version "4.1.0" version "4.1.0"
resolved "https://registry.yarnpkg.com/split2/-/split2-4.1.0.tgz#101907a24370f85bb782f08adaabe4e281ecf809" resolved "https://registry.yarnpkg.com/split2/-/split2-4.1.0.tgz#101907a24370f85bb782f08adaabe4e281ecf809"
@ -11207,7 +11188,7 @@ utp-native@^2.5.3:
timeout-refresh "^1.0.0" timeout-refresh "^1.0.0"
unordered-set "^2.0.1" unordered-set "^2.0.1"
uuid@8.3.2, uuid@^8.0.0, uuid@^8.3.2: uuid@8.3.2, uuid@^8.3.2:
version "8.3.2" version "8.3.2"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
@ -11217,6 +11198,11 @@ uuid@^3.3.2:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
uuid@^9.0.0:
version "9.0.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5"
integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==
v8-compile-cache@2.3.0, v8-compile-cache@^2.3.0: v8-compile-cache@2.3.0, v8-compile-cache@^2.3.0:
version "2.3.0" version "2.3.0"
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
@ -11316,61 +11302,61 @@ wcwidth@^1.0.1:
dependencies: dependencies:
defaults "^1.0.3" defaults "^1.0.3"
wdio-chromedriver-service@^7.3.2: wdio-chromedriver-service@^8.0.0:
version "7.3.2" version "8.0.0"
resolved "https://registry.yarnpkg.com/wdio-chromedriver-service/-/wdio-chromedriver-service-7.3.2.tgz#569053df4ceaf6ce9e43bebcdd540197f516e313" resolved "https://registry.yarnpkg.com/wdio-chromedriver-service/-/wdio-chromedriver-service-8.0.0.tgz#875a23afe9eebf90d35e31504f4ca5c2dc7d9e1d"
integrity sha512-4M3OqFzBSC4FdbqkfwOrUMeroMEuyIFCHfcUebkU6tJ1w5GenWO61YweJ8NKlhPZx9nkO8223+20MpvBjv+fTg== integrity sha512-sgx092o3WForNeRb9O3n+WkQBdEHihQD8FUrIuBM2Iui652yYzTsob7fza4VeJnOX2JijFlJb8S79ocbusz06Q==
dependencies: dependencies:
"@wdio/logger" "^7.5.3" "@wdio/logger" "^8.0.0-alpha.219"
fs-extra "^9.1.0"
split2 "^3.2.2"
tcp-port-used "^1.0.1"
wdio-geckodriver-service@^3.0.2:
version "3.0.5"
resolved "https://registry.yarnpkg.com/wdio-geckodriver-service/-/wdio-geckodriver-service-3.0.5.tgz#c01fa5135bc387ea4e10c3297297f2a3038b4f72"
integrity sha512-J5+yR8coYXQhu9PUJATv8AhO8c91M+opk2tFl6571kDj+/mulEd6lYuEWkd69zhc9uu2yN82HCF/BL3IrKemRw==
dependencies:
"@wdio/logger" "^7.19.0"
fs-extra "^10.1.0" fs-extra "^10.1.0"
get-port "^5.1.1"
split2 "^4.1.0" split2 "^4.1.0"
tcp-port-used "^1.0.2" tcp-port-used "^1.0.2"
webdriver@7.24.0: wdio-geckodriver-service@^4.0.0:
version "7.24.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/webdriver/-/webdriver-7.24.0.tgz#9a84e566869ee202a9c92bbf9353b1e20e5f34cc" resolved "https://registry.yarnpkg.com/wdio-geckodriver-service/-/wdio-geckodriver-service-4.0.0.tgz#0118dab14b025a72174d30bde5a711d58e6c14ca"
integrity sha512-AIxBLHz2b/ymDssWNcncOa3rh5KerGKuhIBSgtnxQ5joHb0W+iLVvR6uLytp1jqXodDmnjz1H+lVzgY/gxEa2A== integrity sha512-aqkxRxr3+npQtEHjQUhKvX5BSollu6ACjEY4R3F16gUXF4hgLixq3MW/IK4eXlrjHl8doRrJA1aTKQBYVWy2Ww==
dependencies:
"@wdio/logger" "^8.0.0-alpha.219"
fs-extra "^10.1.0"
get-port "^6.1.2"
split2 "^4.1.0"
tcp-port-used "^1.0.2"
webdriver@7.25.1:
version "7.25.1"
resolved "https://registry.yarnpkg.com/webdriver/-/webdriver-7.25.1.tgz#0e9a98093f0a572b846048eb7a5e422db04f58bd"
integrity sha512-BmR5RT37EGNJj/O/GTCqBKXV/Jr9V4oQTTDaurZixVKW0ubG7uyfrhiklzuWUtmES9VualTKgQumhGhchBTC6g==
dependencies: dependencies:
"@types/node" "^18.0.0" "@types/node" "^18.0.0"
"@wdio/config" "7.24.0" "@wdio/config" "7.25.1"
"@wdio/logger" "7.19.0" "@wdio/logger" "7.19.0"
"@wdio/protocols" "7.22.0" "@wdio/protocols" "7.22.0"
"@wdio/types" "7.24.0" "@wdio/types" "7.25.1"
"@wdio/utils" "7.24.0" "@wdio/utils" "7.25.1"
got "^11.0.2" got "^11.0.2"
ky "0.30.0" ky "0.30.0"
lodash.merge "^4.6.1" lodash.merge "^4.6.1"
webdriverio@7.24.0: webdriverio@7.25.2:
version "7.24.0" version "7.25.2"
resolved "https://registry.yarnpkg.com/webdriverio/-/webdriverio-7.24.0.tgz#9a16a302dc7e555618eee5b43b5f57a4c997f032" resolved "https://registry.yarnpkg.com/webdriverio/-/webdriverio-7.25.2.tgz#9fcb360d7ac47118b886bfa911a6f06bffafc932"
integrity sha512-6V4+KS1SHE04+daV71TSJCd3RhPihbA5ShxV1tRCNxqdqzLD7XLxksPWvini9ieeZ9jmt7q4/SgBM8MY+08d6A== integrity sha512-lZwHh1G2Zxg4LmVQZZZNhKAqjGoSxoDaqlAf0ojh/3DcWVxMpFtaj0mksrqCyVhObudb2dopOX26beWPyKwL4A==
dependencies: dependencies:
"@types/aria-query" "^5.0.0" "@types/aria-query" "^5.0.0"
"@types/node" "^18.0.0" "@types/node" "^18.0.0"
"@wdio/config" "7.24.0" "@wdio/config" "7.25.1"
"@wdio/logger" "7.19.0" "@wdio/logger" "7.19.0"
"@wdio/protocols" "7.22.0" "@wdio/protocols" "7.22.0"
"@wdio/repl" "7.24.0" "@wdio/repl" "7.25.1"
"@wdio/types" "7.24.0" "@wdio/types" "7.25.1"
"@wdio/utils" "7.24.0" "@wdio/utils" "7.25.1"
archiver "^5.0.0" archiver "^5.0.0"
aria-query "^5.0.0" aria-query "^5.0.0"
css-shorthand-properties "^1.1.1" css-shorthand-properties "^1.1.1"
css-value "^0.0.1" css-value "^0.0.1"
devtools "7.24.0" devtools "7.25.1"
devtools-protocol "^0.0.1040073" devtools-protocol "^0.0.1056733"
fs-extra "^10.0.0" fs-extra "^10.0.0"
grapheme-splitter "^1.0.2" grapheme-splitter "^1.0.2"
lodash.clonedeep "^4.5.0" lodash.clonedeep "^4.5.0"
@ -11383,7 +11369,7 @@ webdriverio@7.24.0:
resq "^1.9.1" resq "^1.9.1"
rgb2hex "0.2.5" rgb2hex "0.2.5"
serialize-error "^8.0.0" serialize-error "^8.0.0"
webdriver "7.24.0" webdriver "7.25.1"
webidl-conversions@^3.0.0: webidl-conversions@^3.0.0:
version "3.0.1" version "3.0.1"