From 814e9e07ba65446af8446dbbd2f0d70c85fd1b33 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 28 Oct 2022 11:19:54 +0200 Subject: Improve E2E tests Add tests for private video static endpoints Fix tests for local firefox --- client/e2e/browserstack.err | 1 + client/e2e/fixtures/video2.mp4 | Bin 0 -> 335691 bytes client/e2e/fixtures/video3.mp4 | Bin 0 -> 157633 bytes client/e2e/src/po/admin-config.po.ts | 14 +- client/e2e/src/po/login.po.ts | 50 +++- client/e2e/src/po/my-account.po.ts | 4 + client/e2e/src/po/signup.po.ts | 3 +- client/e2e/src/po/video-upload.po.ts | 10 +- client/e2e/src/po/video-watch.po.ts | 6 +- .../e2e/src/suites-all/private-videos.e2e-spec.ts | 60 ++++ client/e2e/src/suites-all/videos.e2e-spec.ts | 6 +- .../custom-server-defaults.e2e-spec.ts | 6 +- client/e2e/src/suites-local/plugins.e2e-spec.ts | 10 +- client/e2e/src/suites-local/signup.e2e-spec.ts | 4 +- .../e2e/src/suites-local/user-settings.e2e-spec.ts | 4 +- .../e2e/src/suites-local/videos-list.e2e-spec.ts | 8 +- client/e2e/src/utils/elements.ts | 5 +- client/e2e/src/utils/hooks.ts | 8 + client/e2e/src/utils/urls.ts | 5 + client/e2e/wdio.local-test.conf.ts | 11 +- client/e2e/wdio.main.conf.ts | 3 +- client/package.json | 16 +- client/yarn.lock | 302 ++++++++++----------- 23 files changed, 333 insertions(+), 203 deletions(-) create mode 100644 client/e2e/browserstack.err create mode 100644 client/e2e/fixtures/video2.mp4 create mode 100644 client/e2e/fixtures/video3.mp4 create mode 100644 client/e2e/src/suites-all/private-videos.e2e-spec.ts (limited to 'client') diff --git a/client/e2e/browserstack.err b/client/e2e/browserstack.err new file mode 100644 index 000000000..a6e141486 --- /dev/null +++ b/client/e2e/browserstack.err @@ -0,0 +1 @@ +[object Object] \ No newline at end of file diff --git a/client/e2e/fixtures/video2.mp4 b/client/e2e/fixtures/video2.mp4 new file mode 100644 index 000000000..e4e6773ef Binary files /dev/null and b/client/e2e/fixtures/video2.mp4 differ diff --git a/client/e2e/fixtures/video3.mp4 b/client/e2e/fixtures/video3.mp4 new file mode 100644 index 000000000..e7a1c12e4 Binary files /dev/null and b/client/e2e/fixtures/video3.mp4 differ diff --git a/client/e2e/src/po/admin-config.po.ts b/client/e2e/src/po/admin-config.po.ts index 6d48a0fd7..27957a71f 100644 --- a/client/e2e/src/po/admin-config.po.ts +++ b/client/e2e/src/po/admin-config.po.ts @@ -14,8 +14,14 @@ export class AdminConfigPage { await $('.inner-form-title=' + waitTitles[tab]).waitForDisplayed() } - updateNSFWSetting (newValue: 'do_not_list' | 'blur' | 'display') { - return $('#instanceDefaultNSFWPolicy').selectByAttribute('value', newValue) + async updateNSFWSetting (newValue: 'do_not_list' | 'blur' | 'display') { + 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) { @@ -24,11 +30,15 @@ export class AdminConfigPage { async toggleSignup () { const checkbox = await getCheckbox('signupEnabled') + + await checkbox.waitForClickable() await checkbox.click() } async save () { const button = $('input[type=submit]') + + await button.waitForClickable() await button.click() } } diff --git a/client/e2e/src/po/login.po.ts b/client/e2e/src/po/login.po.ts index 2c4561b7d..91bf46e30 100644 --- a/client/e2e/src/po/login.po.ts +++ b/client/e2e/src/po/login.po.ts @@ -2,31 +2,61 @@ import { go } from '../utils' export class LoginPage { - async loginAsRootUser () { - await go('/login') + constructor (private isMobileDevice: boolean) { + + } + + 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_welcome_modal', 'true')`) - await $('input#username').setValue('root') - await $('input#password').setValue('test' + this.getSuffix()) + await $('input#username').setValue(username) + await $('input#password').setValue(password) await browser.pause(1000) 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 () { - await $('.logged-in-more').click() + const loggedInMore = $('.logged-in-more') + + await loggedInMore.waitForClickable() + await loggedInMore.click() - const logout = () => $('.dropdown-item*=Log out') + const logout = $('.dropdown-item*=Log out') - await logout().waitForDisplayed() - await logout().click() + await logout.waitForClickable() + await logout.click() - await $('.login-buttons-block').waitForDisplayed() + await browser.waitUntil(() => { + return $('.login-buttons-block, my-error-page a[href="/login"]').isDisplayed() + }) } async ensureIsLoggedInAs (displayName: string) { diff --git a/client/e2e/src/po/my-account.po.ts b/client/e2e/src/po/my-account.po.ts index 8d5d878ce..222dbb569 100644 --- a/client/e2e/src/po/my-account.po.ts +++ b/client/e2e/src/po/my-account.po.ts @@ -25,6 +25,8 @@ export class MyAccountPage { await nsfw.waitForDisplayed() await nsfw.scrollIntoView(false) // Avoid issues with fixed header on firefox + await nsfw.waitForClickable() + await nsfw.selectByAttribute('value', newValue) await this.submitVideoSettings() @@ -43,6 +45,8 @@ export class MyAccountPage { private async submitVideoSettings () { const submit = $('my-user-video-settings input[type=submit]') + + await submit.waitForClickable() await submit.scrollIntoView(false) await submit.click() } diff --git a/client/e2e/src/po/signup.po.ts b/client/e2e/src/po/signup.po.ts index ef36dbcc4..7a17198cc 100644 --- a/client/e2e/src/po/signup.po.ts +++ b/client/e2e/src/po/signup.po.ts @@ -9,7 +9,7 @@ export class SignupPage { async clickOnRegisterInMenu () { const button = this.getRegisterMenuButton() - await button.waitForDisplayed() + await button.waitForClickable() await button.click() } @@ -22,6 +22,7 @@ export class SignupPage { async checkTerms () { const terms = await getCheckbox('terms') + await terms.waitForClickable() return terms.click() } diff --git a/client/e2e/src/po/video-upload.po.ts b/client/e2e/src/po/video-upload.po.ts index 8605139c9..7e7989763 100644 --- a/client/e2e/src/po/video-upload.po.ts +++ b/client/e2e/src/po/video-upload.po.ts @@ -11,8 +11,8 @@ export class VideoUploadPage { await $('.upload-video-container').waitForDisplayed() } - async uploadVideo () { - const fileToUpload = join(__dirname, '../../fixtures/video.mp4') + async uploadVideo (fixtureName: 'video.mp4' | 'video2.mp4' | 'video3.mp4') { + const fileToUpload = join(__dirname, '../../fixtures/' + fixtureName) const fileInputSelector = '.upload-video-container input[type=file]' const parentFileInput = '.upload-video-container .button-file' @@ -36,6 +36,7 @@ export class VideoUploadPage { async setAsNSFW () { const checkbox = await getCheckbox('nsfw') + await checkbox.waitForClickable() return checkbox.click() } @@ -45,7 +46,10 @@ export class VideoUploadPage { await nameInput.clearValue() await nameInput.setValue(videoName) - await this.getSecondStepSubmitButton().click() + const button = this.getSecondStepSubmitButton() + await button.waitForClickable() + + await button.click() return browser.waitUntil(async () => { return (await browser.getUrl()).includes('/w/') diff --git a/client/e2e/src/po/video-watch.po.ts b/client/e2e/src/po/video-watch.po.ts index 65bf21837..982c90908 100644 --- a/client/e2e/src/po/video-watch.po.ts +++ b/client/e2e/src/po/video-watch.po.ts @@ -49,7 +49,11 @@ export class VideoWatchPage { url = url.replace(':3333', ':9001') await go(url) - await $('.vjs-big-play-button').waitForDisplayed() + await this.waitEmbedForDisplayed() + } + + waitEmbedForDisplayed () { + return $('.vjs-big-play-button').waitForDisplayed() } isEmbedWarningDisplayed () { diff --git a/client/e2e/src/suites-all/private-videos.e2e-spec.ts b/client/e2e/src/suites-all/private-videos.e2e-spec.ts new file mode 100644 index 000000000..db3554659 --- /dev/null +++ b/client/e2e/src/suites-all/private-videos.e2e-spec.ts @@ -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) + }) +}) diff --git a/client/e2e/src/suites-all/videos.e2e-spec.ts b/client/e2e/src/suites-all/videos.e2e-spec.ts index b3a87c8e2..997d58884 100644 --- a/client/e2e/src/suites-all/videos.e2e-spec.ts +++ b/client/e2e/src/suites-all/videos.e2e-spec.ts @@ -49,7 +49,7 @@ describe('Videos all workflow', () => { videoUploadPage = new VideoUploadPage() videoUpdatePage = new VideoUpdatePage() myAccountPage = new MyAccountPage() - loginPage = new LoginPage() + loginPage = new LoginPage(isMobileDevice()) playerPage = new PlayerPage() videoListPage = new VideoListPage(isMobileDevice(), isSafari()) @@ -72,7 +72,7 @@ describe('Videos all workflow', () => { await videoUploadPage.navigateTo() - await videoUploadPage.uploadVideo() + await videoUploadPage.uploadVideo('video.mp4') return videoUploadPage.validSecondUploadStep(videoName) }) @@ -147,7 +147,7 @@ describe('Videos all workflow', () => { await videoUploadPage.navigateTo() - await videoUploadPage.uploadVideo() + await videoUploadPage.uploadVideo('video2.mp4') await videoUploadPage.validSecondUploadStep(video2Name) await videoWatchPage.clickOnSave() diff --git a/client/e2e/src/suites-local/custom-server-defaults.e2e-spec.ts b/client/e2e/src/suites-local/custom-server-defaults.e2e-spec.ts index e060d382f..71840d707 100644 --- a/client/e2e/src/suites-local/custom-server-defaults.e2e-spec.ts +++ b/client/e2e/src/suites-local/custom-server-defaults.e2e-spec.ts @@ -11,7 +11,7 @@ describe('Custom server defaults', () => { before(async () => { await waitServerUp() - loginPage = new LoginPage() + loginPage = new LoginPage(isMobileDevice()) videoUploadPage = new VideoUploadPage() videoWatchPage = new VideoWatchPage(isMobileDevice(), isSafari()) @@ -25,7 +25,7 @@ describe('Custom server defaults', () => { it('Should upload a video with custom default values', async function () { await videoUploadPage.navigateTo() - await videoUploadPage.uploadVideo() + await videoUploadPage.uploadVideo('video.mp4') await videoUploadPage.validSecondUploadStep('video') await videoWatchPage.waitWatchVideoName('video') @@ -60,7 +60,7 @@ describe('Custom server defaults', () => { before(async () => { await loginPage.loginAsRootUser() await videoUploadPage.navigateTo() - await videoUploadPage.uploadVideo() + await videoUploadPage.uploadVideo('video2.mp4') await videoUploadPage.setAsPublic() await videoUploadPage.validSecondUploadStep('video') diff --git a/client/e2e/src/suites-local/plugins.e2e-spec.ts b/client/e2e/src/suites-local/plugins.e2e-spec.ts index a32ba1044..363c7f836 100644 --- a/client/e2e/src/suites-local/plugins.e2e-spec.ts +++ b/client/e2e/src/suites-local/plugins.e2e-spec.ts @@ -1,7 +1,7 @@ import { AdminPluginPage } from '../po/admin-plugin.po' import { LoginPage } from '../po/login.po' import { VideoUploadPage } from '../po/video-upload.po' -import { getCheckbox, waitServerUp } from '../utils' +import { getCheckbox, isMobileDevice, waitServerUp } from '../utils' describe('Plugins', () => { let videoUploadPage: VideoUploadPage @@ -24,7 +24,7 @@ describe('Plugins', () => { }) beforeEach(async () => { - loginPage = new LoginPage() + loginPage = new LoginPage(isMobileDevice()) videoUploadPage = new VideoUploadPage() adminPluginPage = new AdminPluginPage() @@ -42,7 +42,7 @@ describe('Plugins', () => { it('Should have checkbox in video edit page', async () => { await videoUploadPage.navigateTo() - await videoUploadPage.uploadVideo() + await videoUploadPage.uploadVideo('video.mp4') 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 () { const checkbox = await getPluginCheckbox() + + await checkbox.waitForClickable() await checkbox.click() 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 () { const checkbox = await getPluginCheckbox() + + await checkbox.waitForClickable() await checkbox.click() await expectSubmitState({ disabled: true }) diff --git a/client/e2e/src/suites-local/signup.e2e-spec.ts b/client/e2e/src/suites-local/signup.e2e-spec.ts index 0f6d7a0e6..4eed3eefe 100644 --- a/client/e2e/src/suites-local/signup.e2e-spec.ts +++ b/client/e2e/src/suites-local/signup.e2e-spec.ts @@ -1,7 +1,7 @@ import { AdminConfigPage } from '../po/admin-config.po' import { LoginPage } from '../po/login.po' import { SignupPage } from '../po/signup.po' -import { waitServerUp } from '../utils' +import { isMobileDevice, waitServerUp } from '../utils' describe('Signup', () => { let loginPage: LoginPage @@ -13,7 +13,7 @@ describe('Signup', () => { }) beforeEach(async () => { - loginPage = new LoginPage() + loginPage = new LoginPage(isMobileDevice()) adminConfigPage = new AdminConfigPage() signupPage = new SignupPage() diff --git a/client/e2e/src/suites-local/user-settings.e2e-spec.ts b/client/e2e/src/suites-local/user-settings.e2e-spec.ts index b87501cd1..3e982d26f 100644 --- a/client/e2e/src/suites-local/user-settings.e2e-spec.ts +++ b/client/e2e/src/suites-local/user-settings.e2e-spec.ts @@ -15,7 +15,7 @@ describe('User settings', () => { before(async () => { await waitServerUp() - loginPage = new LoginPage() + loginPage = new LoginPage(isMobileDevice()) videoUploadPage = new VideoUploadPage() videoWatchPage = new VideoWatchPage(isMobileDevice(), isSafari()) myAccountPage = new MyAccountPage() @@ -43,7 +43,7 @@ describe('User settings', () => { before(async () => { await loginPage.loginAsRootUser() await videoUploadPage.navigateTo() - await videoUploadPage.uploadVideo() + await videoUploadPage.uploadVideo('video.mp4') await videoUploadPage.validSecondUploadStep('video') await videoWatchPage.waitWatchVideoName('video') diff --git a/client/e2e/src/suites-local/videos-list.e2e-spec.ts b/client/e2e/src/suites-local/videos-list.e2e-spec.ts index ce57261b9..8264308f2 100644 --- a/client/e2e/src/suites-local/videos-list.e2e-spec.ts +++ b/client/e2e/src/suites-local/videos-list.e2e-spec.ts @@ -106,7 +106,7 @@ describe('Videos list', () => { beforeEach(async () => { videoListPage = new VideoListPage(isMobileDevice(), isSafari()) adminConfigPage = new AdminConfigPage() - loginPage = new LoginPage() + loginPage = new LoginPage(isMobileDevice()) videoUploadPage = new VideoUploadPage() myAccountPage = new MyAccountPage() videoSearchPage = new VideoSearchPage() @@ -128,12 +128,12 @@ describe('Videos list', () => { it('Should upload 2 videos (NSFW and classic videos)', async () => { await videoUploadPage.navigateTo() - await videoUploadPage.uploadVideo() + await videoUploadPage.uploadVideo('video.mp4') await videoUploadPage.setAsNSFW() await videoUploadPage.validSecondUploadStep(nsfwVideo) await videoUploadPage.navigateTo() - await videoUploadPage.uploadVideo() + await videoUploadPage.uploadVideo('video2.mp4') await videoUploadPage.validSecondUploadStep(normalVideo) }) @@ -205,7 +205,7 @@ describe('Videos list', () => { it('Should have default video values', async function () { await loginPage.loginAsRootUser() await videoUploadPage.navigateTo() - await videoUploadPage.uploadVideo() + await videoUploadPage.uploadVideo('video3.mp4') await videoUploadPage.validSecondUploadStep('video') await videoWatchPage.waitWatchVideoName('video') diff --git a/client/e2e/src/utils/elements.ts b/client/e2e/src/utils/elements.ts index 9d6cfe673..b0ddd5a65 100644 --- a/client/e2e/src/utils/elements.ts +++ b/client/e2e/src/utils/elements.ts @@ -6,7 +6,10 @@ async function getCheckbox (name: 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 text = await o.getText() diff --git a/client/e2e/src/utils/hooks.ts b/client/e2e/src/utils/hooks.ts index e139d8183..889cf1d86 100644 --- a/client/e2e/src/utils/hooks.ts +++ b/client/e2e/src/utils/hooks.ts @@ -68,5 +68,13 @@ function buildConfig (suiteFile: string = undefined) { } } + if (filename === 'signup.e2e-spec.ts') { + return { + signup: { + enabled: true + } + } + } + return {} } diff --git a/client/e2e/src/utils/urls.ts b/client/e2e/src/utils/urls.ts index e82ff1b2e..a1c8283b5 100644 --- a/client/e2e/src/utils/urls.ts +++ b/client/e2e/src/utils/urls.ts @@ -1,4 +1,9 @@ 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', HLS_EMBED: 'https://peertube2.cpy.re/videos/embed/969bf103-7818-43b5-94a0-de159e13de50', diff --git a/client/e2e/wdio.local-test.conf.ts b/client/e2e/wdio.local-test.conf.ts index 5389ebcf0..ca0bb5bfe 100644 --- a/client/e2e/wdio.local-test.conf.ts +++ b/client/e2e/wdio.local-test.conf.ts @@ -26,9 +26,18 @@ module.exports = { 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, beforeSuite: beforeLocalSuite, diff --git a/client/e2e/wdio.main.conf.ts b/client/e2e/wdio.main.conf.ts index 29afdbdc0..0a10ee9ca 100644 --- a/client/e2e/wdio.main.conf.ts +++ b/client/e2e/wdio.main.conf.ts @@ -98,7 +98,8 @@ export const config = { // See the full list at http://mochajs.org/ mochaOpts: { ui: 'bdd', - timeout: 60000 + timeout: 60000, + bail: true }, autoCompileOpts: { diff --git a/client/package.json b/client/package.json index 38cead1a1..22d622bd0 100644 --- a/client/package.json +++ b/client/package.json @@ -71,11 +71,11 @@ "@types/webtorrent": "^0.109.0", "@typescript-eslint/eslint-plugin": "^5.31.0", "@typescript-eslint/parser": "^5.31.0", - "@wdio/browserstack-service": "^7.20.2", - "@wdio/cli": "^7.20.2", - "@wdio/local-runner": "^7.20.2", - "@wdio/mocha-framework": "^7.20.0", - "@wdio/spec-reporter": "^7.20.0", + "@wdio/browserstack-service": "^7.25.2", + "@wdio/cli": "^7.25.2", + "@wdio/local-runner": "^7.25.2", + "@wdio/mocha-framework": "^7.25.2", + "@wdio/spec-reporter": "^7.25.1", "angular2-hotkeys": "^13.1.0", "angularx-qrcode": "14.0.0", "babel-loader": "^8.2.5", @@ -95,7 +95,7 @@ "eslint-plugin-prefer-arrow": "latest", "expect-webdriverio": "^3.4.0", "focus-visible": "^5.0.2", - "geckodriver": "^3.0.1", + "geckodriver": "^3.2.0", "hls.js": "1.2.2", "html-loader": "^4.1.0", "html-webpack-plugin": "^5.3.1", @@ -132,8 +132,8 @@ "url": "^0.11.0", "video.js": "^7.19.2", "videostream": "~3.2.1", - "wdio-chromedriver-service": "^7.3.2", - "wdio-geckodriver-service": "^3.0.2", + "wdio-chromedriver-service": "^8.0.0", + "wdio-geckodriver-service": "^4.0.0", "webpack": "^5.73.0", "webpack-bundle-analyzer": "^4.4.2", "webpack-cli": "^4.10.0", diff --git a/client/yarn.lock b/client/yarn.lock index e5f5f3d0a..3363248a1 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -2212,10 +2212,10 @@ resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== -"@types/mocha@^9.0.0": - version "9.1.1" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-9.1.1.tgz#e7c4f1001eefa4b8afbd1eee27a237fee3bf29c4" - integrity sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw== +"@types/mocha@^10.0.0": + version "10.0.0" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.0.tgz#3d9018c575f0e3f7386c1de80ee66cc21fbb7a52" + integrity sha512-rADY+HtTOA52l9VZWtgQfn4p+UDVM2eDVkMZT1I6syp0YKxW2F9v+0pbRZLsvskhQv/vMb6ZfCay81GHbz5SHg== "@types/mousetrap@^1.6.9": version "1.6.9" @@ -2557,22 +2557,23 @@ global "~4.4.0" is-function "^1.0.1" -"@wdio/browserstack-service@^7.20.2": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@wdio/browserstack-service/-/browserstack-service-7.24.0.tgz#9cebe702799efa8ff103218ac8fcc73ccf380f8d" - integrity sha512-vxfgA0OkBqI4OD16ZpIjOMF+2w8zvvaCPLK/iudek97OFysmFOMCQztF3/OSuALrvIRZsdGCd3kQHD04izrecA== +"@wdio/browserstack-service@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@wdio/browserstack-service/-/browserstack-service-7.25.2.tgz#635df04cb6559118c10a6483245939a9d7b7db5a" + integrity sha512-h66RAPgJoOBfIb3/hfCsaza16HE2RCA239xiMQEIawPv4gluKYVuFzwMXnfJx6sTa/+5aRdsgQkiFZ0TI5un1A== dependencies: "@types/node" "^18.0.0" "@wdio/logger" "7.19.0" - "@wdio/types" "7.24.0" + "@wdio/types" "7.25.1" browserstack-local "^1.4.5" + form-data "^4.0.0" got "^11.0.2" - webdriverio "7.24.0" + webdriverio "7.25.2" -"@wdio/cli@^7.20.2": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@wdio/cli/-/cli-7.24.0.tgz#c2049b64396b4b6f7b7a4f77f3cffd346a870192" - integrity sha512-eP1f6Bw8glrMDMVzeLfb1PU3COSUn7PnMeJE210nuVarBBnfwKIJmu4WrYoYyImOThnmuiYMGpI8pbyBfm23nA== +"@wdio/cli@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@wdio/cli/-/cli-7.25.2.tgz#81b1933457184c4fcd705d13e96798e4ad229900" + integrity sha512-jpQmPR14D2nIBKby6I21zSHNQAPayZXmu+3IBNRe3SDTNEAHb9jZuyhj4IdoaPilfXrJAzQ2BRql6/T2oA29Yw== dependencies: "@types/ejs" "^3.0.5" "@types/fs-extra" "^9.0.4" @@ -2582,11 +2583,11 @@ "@types/lodash.union" "^4.6.6" "@types/node" "^18.0.0" "@types/recursive-readdir" "^2.2.0" - "@wdio/config" "7.24.0" + "@wdio/config" "7.25.1" "@wdio/logger" "7.19.0" "@wdio/protocols" "7.22.0" - "@wdio/types" "7.24.0" - "@wdio/utils" "7.24.0" + "@wdio/types" "7.25.1" + "@wdio/utils" "7.25.1" async-exit-hook "^2.0.1" chalk "^4.0.0" chokidar "^3.0.0" @@ -2599,36 +2600,36 @@ lodash.union "^4.6.0" mkdirp "^1.0.4" recursive-readdir "^2.2.2" - webdriverio "7.24.0" + webdriverio "7.25.2" yargs "^17.0.0" yarn-install "^1.0.0" -"@wdio/config@7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@wdio/config/-/config-7.24.0.tgz#ac29f8c25df8bba29bd811a386a46ff05386b213" - integrity sha512-MSIuwbs7JeOh9eMiFP3nVYDyaK3jYv7HY4eJIfvl6TBo4G1mTjbF1Dnct38W0ZR5WIFeSKhl15LiumbNUv0pyA== +"@wdio/config@7.25.1": + version "7.25.1" + resolved "https://registry.yarnpkg.com/@wdio/config/-/config-7.25.1.tgz#1a094e639343466adcea678fc443daef041dc7b3" + integrity sha512-7I3L+TE75gvh8jiv8cE/Ch9S9erDgrZG9o5587OlNKfpgFciT7DH7/efPXzYwh8YPFV3grFaydxaaoYzDv6PDA== dependencies: "@wdio/logger" "7.19.0" - "@wdio/types" "7.24.0" - "@wdio/utils" "7.24.0" + "@wdio/types" "7.25.1" + "@wdio/utils" "7.25.1" deepmerge "^4.0.0" glob "^8.0.3" -"@wdio/local-runner@^7.20.2": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@wdio/local-runner/-/local-runner-7.24.0.tgz#f6903b18ee816ce2a9f0a082ea64e56d6b4c0408" - integrity sha512-woNmoNNDTouPuom9Hl2l/7J9ZMAxb6cRVI8B0SEJAV32tDcMfm773RQB9qxtpBxZHQf43LHjcq75BWB/zRrI5g== +"@wdio/local-runner@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@wdio/local-runner/-/local-runner-7.25.2.tgz#e2fe3f366018d80b01c3c58153b5bd85e97b3e3d" + integrity sha512-6FXuGSX7UNpMLmH2k0dpCZRxgiX7nF6kDN+NjUyUNdp2H6qLHxkOdpNTI0rIijamHEFADjGoeYAluybu6QtbmA== dependencies: "@types/stream-buffers" "^3.0.3" "@wdio/logger" "7.19.0" - "@wdio/repl" "7.24.0" - "@wdio/runner" "7.24.0" - "@wdio/types" "7.24.0" + "@wdio/repl" "7.25.1" + "@wdio/runner" "7.25.2" + "@wdio/types" "7.25.1" async-exit-hook "^2.0.1" split2 "^4.0.0" 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" resolved "https://registry.yarnpkg.com/@wdio/logger/-/logger-7.19.0.tgz#23697a4b4aaea56c3bd477a0393af2a5c175fc85" integrity sha512-xR7SN/kGei1QJD1aagzxs3KMuzNxdT/7LYYx+lt6BII49+fqL/SO+5X0FDCZD0Ds93AuQvvz9eGyzrBI2FFXmQ== @@ -2638,15 +2639,25 @@ loglevel-plugin-prefix "^0.8.4" strip-ansi "^6.0.0" -"@wdio/mocha-framework@^7.20.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@wdio/mocha-framework/-/mocha-framework-7.24.0.tgz#8b3f747f7701cc2e3b79de4226c8ae7dda2141b2" - integrity sha512-8nadTD2mUGZnccGAdv4yAhqibrePYIlnhcxUXc2OpnMtO9Zey8TmZ8FlCHJ2tSvplkGNqq4X7SVK9lHatYH2yg== +"@wdio/logger@^8.0.0-alpha.219": + version "8.0.0-alpha.412" + resolved "https://registry.yarnpkg.com/@wdio/logger/-/logger-8.0.0-alpha.412.tgz#ac483688a295d5882d6ad78efd25c214dbcae3be" + integrity sha512-p1jAM/viND/kAicRvIf2mXGLbQD3B0X9eC4CcpHfw4YUBr9+EMyLgo+CPIe3qJogug/pbhbVKpTuvE+wemv8Mg== + dependencies: + 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" "^9.0.0" + "@types/mocha" "^10.0.0" "@wdio/logger" "7.19.0" - "@wdio/types" "7.24.0" - "@wdio/utils" "7.24.0" + "@wdio/types" "7.25.1" + "@wdio/utils" "7.25.1" expect-webdriverio "^3.0.0" mocha "^10.0.0" @@ -2655,70 +2666,70 @@ resolved "https://registry.yarnpkg.com/@wdio/protocols/-/protocols-7.22.0.tgz#d89faef687cb08981d734bbc5e5dffc6fb5a064c" integrity sha512-8EXRR+Ymdwousm/VGtW3H1hwxZ/1g1H99A1lF0U4GuJ5cFWHCd0IVE5H31Z52i8ZruouW8jueMkGZPSo2IIUSQ== -"@wdio/repl@7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@wdio/repl/-/repl-7.24.0.tgz#bb3ce2e9804fec3b803552efe3f8a056e274e026" - integrity sha512-DloYlOMCgENnWk4PWDqCkZCieHdl1BwSc/EOU3czQMt4KV8qTm1SyMbeCSgaAjVWiNEYTkRodupia2sJGYtIJA== +"@wdio/repl@7.25.1": + version "7.25.1" + resolved "https://registry.yarnpkg.com/@wdio/repl/-/repl-7.25.1.tgz#9c0e1b9a3db90ff438fde63f34da1f3966bcca58" + integrity sha512-3DUtOrLi5thba22IBn/XQ7caFrbXtYOg3750UtXxUuxXU4QHkKq1AN8+WXr4Rq2EnXfB2G9t9pEdqjZSv9oPAw== dependencies: - "@wdio/utils" "7.24.0" + "@wdio/utils" "7.25.1" -"@wdio/reporter@7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@wdio/reporter/-/reporter-7.24.0.tgz#36e26d86d57418472af7466bdaa16dc4535f3d1d" - integrity sha512-iZUQpF3zHmBH+4GWZYqf9/yDxmufSGmfIn0GkZHhiymv+pIN8y8zTNlZ5OH6t0h+ICdeoAOxlBEUBMy4eVRhHQ== +"@wdio/reporter@7.25.1": + version "7.25.1" + resolved "https://registry.yarnpkg.com/@wdio/reporter/-/reporter-7.25.1.tgz#a241745b20136393568958e29840d49caa873f02" + integrity sha512-MLEiuoQGFn1ZD5FvzWFdsInuJT7TF/E1sg81mwlMjm5iFpuTvbPCUQq3uJ24xnXfMbw/HLZUnhPqC47+KTKTkw== dependencies: "@types/diff" "^5.0.0" "@types/node" "^18.0.0" "@types/object-inspect" "^1.8.0" "@types/supports-color" "^8.1.0" "@types/tmp" "^0.2.0" - "@wdio/types" "7.24.0" + "@wdio/types" "7.25.1" diff "^5.0.0" fs-extra "^10.0.0" object-inspect "^1.10.3" supports-color "8.1.1" -"@wdio/runner@7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@wdio/runner/-/runner-7.24.0.tgz#d81fb017062e0b482e14b590db284e6b4eb17812" - integrity sha512-OfFQPV2eR/asJDEqfI8YTF5CuJpzgkMItjrHNyUKMhLy5E6Vc6LKQ/+K1wlJhnf/mJLOYQmU2ha0AL97V7+ldw== +"@wdio/runner@7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@wdio/runner/-/runner-7.25.2.tgz#1991c8fa09d9840f8bb3d645f47722418ab25043" + integrity sha512-0fQe9qmYPmbZ+PiDmZw6uy9XEx0A8+VhQAxyUSp/K9NCDUABY+I1tCSHCY/0mzlwk+ykscn8+qhaN1g9LvBtPA== dependencies: - "@wdio/config" "7.24.0" + "@wdio/config" "7.25.1" "@wdio/logger" "7.19.0" - "@wdio/types" "7.24.0" - "@wdio/utils" "7.24.0" + "@wdio/types" "7.25.1" + "@wdio/utils" "7.25.1" deepmerge "^4.0.0" gaze "^1.1.2" - webdriver "7.24.0" - webdriverio "7.24.0" + webdriver "7.25.1" + webdriverio "7.25.2" -"@wdio/spec-reporter@^7.20.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@wdio/spec-reporter/-/spec-reporter-7.24.0.tgz#20fc0cfb660999cd900e07efdeb5095cb5baf4fd" - integrity sha512-BKdVad0srzIq+grzSZ3NUiA3NUSkCazwfc1AXuODqBhwp72gvoR14b4JLOnzAaT0mQ+GvJrjL05gu9sFVD5ziw== +"@wdio/spec-reporter@^7.25.1": + version "7.25.1" + resolved "https://registry.yarnpkg.com/@wdio/spec-reporter/-/spec-reporter-7.25.1.tgz#01315a3ff718bcc017bd59696b856b09e15b6293" + integrity sha512-CazLMJGWh0b+eWtiSmWGfFCl+nB1LHwST30gWsBJ44Xtd/rwl7rXi76Uq/qE2a2kwUs0Od6NLK7ZCa+ISejqwQ== dependencies: "@types/easy-table" "^1.2.0" - "@wdio/reporter" "7.24.0" - "@wdio/types" "7.24.0" + "@wdio/reporter" "7.25.1" + "@wdio/types" "7.25.1" chalk "^4.0.0" easy-table "^1.1.1" pretty-ms "^7.0.0" -"@wdio/types@7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@wdio/types/-/types-7.24.0.tgz#ded79460f8a2a4892232e2707fb8d0ce3694bfd5" - integrity sha512-wJZ+1lIHFz5aWXSO+k91wX8tfZdpyX4YYoker5xfC4zvM7ypyK81dZyiE5whS+QFL3VTCPP8dXNjwX5f5h+YEw== +"@wdio/types@7.25.1": + version "7.25.1" + resolved "https://registry.yarnpkg.com/@wdio/types/-/types-7.25.1.tgz#9e06f5479bc3c95f78811ba77dd96470417f882a" + integrity sha512-9Xt2U0YXYxRW4UvMFwjt+44UkfhwrI1gPhW+y56SubpyKaUfdNGberteboQoR/7Os1SVtJry4FohEZNmFzPK6g== dependencies: "@types/node" "^18.0.0" got "^11.8.1" -"@wdio/utils@7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@wdio/utils/-/utils-7.24.0.tgz#f6d4c8fce057a2064f87fe6e4f8fa77286058129" - integrity sha512-VWfFT1Ket3pAt19kY5lPRuwJDheKF4hMwG0AiezkqqerDl/m+fcb4a6pj1WHjlawvlYM4MM15iBZFxYfphG9lg== +"@wdio/utils@7.25.1": + version "7.25.1" + resolved "https://registry.yarnpkg.com/@wdio/utils/-/utils-7.25.1.tgz#29bfe7e2dcd4f9b31868f069afa1eb761e96b8a7" + integrity sha512-DL+nDRVgzruJLhedBUQEMUcojLoGwsjCQCYWram4NfwAIIkxcAX/5Y4vHSut3OoW2bEHl3R8/FQ4B/ivIr2EoQ== dependencies: "@wdio/logger" "7.19.0" - "@wdio/types" "7.24.0" + "@wdio/types" "7.25.1" p-iteration "^1.1.8" "@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" 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: version "2.1.2" 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" integrity sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg== -devtools-protocol@^0.0.1040073: - version "0.0.1040073" - resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1040073.tgz#9ca5e033c9a52d3811c76903642973e3be75b5ca" - integrity sha512-+iipnm2hvmlWs4MVNx7HwSTxhDxsXnQyK5F1OalZVXeUhdPgP/23T42NCyg0TK3wL/Yg92SVrSuGKqdg12o54w== +devtools-protocol@^0.0.1056733: + version "0.0.1056733" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1056733.tgz#55bb1d56761014cc221131cca5e6bad94eefb2b9" + integrity sha512-CmTu6SQx2g3TbZzDCAV58+LTxVdKplS7xip0g5oDXpZ+isr0rv5dDP8ToyVRywzPHkCCPKgKgScEcwz4uPWDIA== -devtools@7.24.0: - version "7.24.0" - resolved "https://registry.yarnpkg.com/devtools/-/devtools-7.24.0.tgz#7ae2d6216ca578fe75e64affcb5998998b654fb1" - integrity sha512-QcUacRC+qf5cNGkiWAO/HM+0pM4onlYL7+AafZfpZVN8GOhrvWHeyzM9mxmlMwM+aU2NcRK+cYVCbB0gZL9MGA== +devtools@7.25.1: + version "7.25.1" + resolved "https://registry.yarnpkg.com/devtools/-/devtools-7.25.1.tgz#64ad59db9a769e68d70afbf1bc1b456bd9ced7e8" + integrity sha512-01T8QZeiD92MpI/7rP8kUflN3XcMqv2moa07123OjjENuuOhYxRWmJ7xj94txnF5PJp1Cv8/jvK8EUbnEHf6MQ== dependencies: "@types/node" "^18.0.0" "@types/ua-parser-js" "^0.7.33" - "@wdio/config" "7.24.0" + "@wdio/config" "7.25.1" "@wdio/logger" "7.19.0" "@wdio/protocols" "7.22.0" - "@wdio/types" "7.24.0" - "@wdio/utils" "7.24.0" + "@wdio/types" "7.25.1" + "@wdio/utils" "7.25.1" chrome-launcher "^0.15.0" edge-paths "^2.1.0" puppeteer-core "^13.1.3" query-selector-shadow-dom "^1.0.0" ua-parser-js "^1.0.1" - uuid "^8.0.0" + uuid "^9.0.0" dexie@^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" 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: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" @@ -5767,15 +5763,15 @@ gaze@^1.1.2: dependencies: globule "^1.0.0" -geckodriver@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/geckodriver/-/geckodriver-3.0.2.tgz#6bd69166a24859c5edbc6ece9868339378b6c97b" - integrity sha512-GHOQzQnTeZOJdcdEXLuzmcRwkbHuei1VivXkn2BLyleKiT6lTvl0T7vm+d0wvr/EZC7jr0m1u1pBHSfqtuFuNQ== +geckodriver@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/geckodriver/-/geckodriver-3.2.0.tgz#6b0a85e2aafbce209bca30e2d53af857707b1034" + integrity sha512-p+qR2RKlI/TQoCEYrSuTaYCLqsJNni96WmEukTyXmOmLn+3FLdgPAEwMZ0sG2Cwi9hozUzGAWyT6zLuhF6cpiQ== dependencies: adm-zip "0.5.9" bluebird "3.7.2" got "11.8.5" - https-proxy-agent "5.0.0" + https-proxy-agent "5.0.1" tar "6.1.11" 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" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== -get-port@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" - integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== +get-port@^6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/get-port/-/get-port-6.1.2.tgz#c1228abb67ba0e17fb346da33b15187833b9c08a" + integrity sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw== get-stdin@^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" 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: version "5.0.1" 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" 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" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" 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" 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: version "4.1.0" 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" 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" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" 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" 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: version "2.3.0" 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: defaults "^1.0.3" -wdio-chromedriver-service@^7.3.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/wdio-chromedriver-service/-/wdio-chromedriver-service-7.3.2.tgz#569053df4ceaf6ce9e43bebcdd540197f516e313" - integrity sha512-4M3OqFzBSC4FdbqkfwOrUMeroMEuyIFCHfcUebkU6tJ1w5GenWO61YweJ8NKlhPZx9nkO8223+20MpvBjv+fTg== +wdio-chromedriver-service@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/wdio-chromedriver-service/-/wdio-chromedriver-service-8.0.0.tgz#875a23afe9eebf90d35e31504f4ca5c2dc7d9e1d" + integrity sha512-sgx092o3WForNeRb9O3n+WkQBdEHihQD8FUrIuBM2Iui652yYzTsob7fza4VeJnOX2JijFlJb8S79ocbusz06Q== dependencies: - "@wdio/logger" "^7.5.3" - fs-extra "^9.1.0" - split2 "^3.2.2" - tcp-port-used "^1.0.1" + "@wdio/logger" "^8.0.0-alpha.219" + fs-extra "^10.1.0" + split2 "^4.1.0" + tcp-port-used "^1.0.2" -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== +wdio-geckodriver-service@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/wdio-geckodriver-service/-/wdio-geckodriver-service-4.0.0.tgz#0118dab14b025a72174d30bde5a711d58e6c14ca" + integrity sha512-aqkxRxr3+npQtEHjQUhKvX5BSollu6ACjEY4R3F16gUXF4hgLixq3MW/IK4eXlrjHl8doRrJA1aTKQBYVWy2Ww== dependencies: - "@wdio/logger" "^7.19.0" + "@wdio/logger" "^8.0.0-alpha.219" fs-extra "^10.1.0" - get-port "^5.1.1" + get-port "^6.1.2" split2 "^4.1.0" tcp-port-used "^1.0.2" -webdriver@7.24.0: - version "7.24.0" - resolved "https://registry.yarnpkg.com/webdriver/-/webdriver-7.24.0.tgz#9a84e566869ee202a9c92bbf9353b1e20e5f34cc" - integrity sha512-AIxBLHz2b/ymDssWNcncOa3rh5KerGKuhIBSgtnxQ5joHb0W+iLVvR6uLytp1jqXodDmnjz1H+lVzgY/gxEa2A== +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: "@types/node" "^18.0.0" - "@wdio/config" "7.24.0" + "@wdio/config" "7.25.1" "@wdio/logger" "7.19.0" "@wdio/protocols" "7.22.0" - "@wdio/types" "7.24.0" - "@wdio/utils" "7.24.0" + "@wdio/types" "7.25.1" + "@wdio/utils" "7.25.1" got "^11.0.2" ky "0.30.0" lodash.merge "^4.6.1" -webdriverio@7.24.0: - version "7.24.0" - resolved "https://registry.yarnpkg.com/webdriverio/-/webdriverio-7.24.0.tgz#9a16a302dc7e555618eee5b43b5f57a4c997f032" - integrity sha512-6V4+KS1SHE04+daV71TSJCd3RhPihbA5ShxV1tRCNxqdqzLD7XLxksPWvini9ieeZ9jmt7q4/SgBM8MY+08d6A== +webdriverio@7.25.2: + version "7.25.2" + resolved "https://registry.yarnpkg.com/webdriverio/-/webdriverio-7.25.2.tgz#9fcb360d7ac47118b886bfa911a6f06bffafc932" + integrity sha512-lZwHh1G2Zxg4LmVQZZZNhKAqjGoSxoDaqlAf0ojh/3DcWVxMpFtaj0mksrqCyVhObudb2dopOX26beWPyKwL4A== dependencies: "@types/aria-query" "^5.0.0" "@types/node" "^18.0.0" - "@wdio/config" "7.24.0" + "@wdio/config" "7.25.1" "@wdio/logger" "7.19.0" "@wdio/protocols" "7.22.0" - "@wdio/repl" "7.24.0" - "@wdio/types" "7.24.0" - "@wdio/utils" "7.24.0" + "@wdio/repl" "7.25.1" + "@wdio/types" "7.25.1" + "@wdio/utils" "7.25.1" archiver "^5.0.0" aria-query "^5.0.0" css-shorthand-properties "^1.1.1" css-value "^0.0.1" - devtools "7.24.0" - devtools-protocol "^0.0.1040073" + devtools "7.25.1" + devtools-protocol "^0.0.1056733" fs-extra "^10.0.0" grapheme-splitter "^1.0.2" lodash.clonedeep "^4.5.0" @@ -11383,7 +11369,7 @@ webdriverio@7.24.0: resq "^1.9.1" rgb2hex "0.2.5" serialize-error "^8.0.0" - webdriver "7.24.0" + webdriver "7.25.1" webidl-conversions@^3.0.0: version "3.0.1" -- cgit v1.2.3