ruffle
ruffle copied to clipboard
Update webdriverio to 9.x, resolve ws advisory
Bumps ws to 8.18.0 and updates ancestor dependencies ws, @wdio/browserstack-service, @wdio/cli, @wdio/local-runner and webdriverio. These dependencies need to be updated together.
Updates ws from 8.16.0 to 8.18.0
Release notes
Sourced from ws's releases.
8.18.0
Features
- Added support for
Blob(#2229).8.17.1
Bug fixes
- Fixed a DoS vulnerability (#2231).
A request with a number of headers exceeding the[
server.maxHeadersCount][] threshold could be used to crash a ws server.const http = require('http'); const WebSocket = require('ws');const wss = new WebSocket.Server({ port: 0 }, function () { const chars = "!#$%&'*+-.0123456789abcdefghijklmnopqrstuvwxyz^_`|~".split(''); const headers = {}; let count = 0;
for (let i = 0; i < chars.length; i++) { if (count === 2000) break;
for (let j = 0; j < chars.length; j++) { const key = chars[i] + chars[j]; headers[key] = 'x';if (++count === 2000) break; }
}
headers.Connection = 'Upgrade'; headers.Upgrade = 'websocket'; headers['Sec-WebSocket-Key'] = 'dGhlIHNhbXBsZSBub25jZQ=='; headers['Sec-WebSocket-Version'] = '13';
const request = http.request({ headers: headers, host: '127.0.0.1', port: wss.address().port });
request.end(); });
The vulnerability was reported by Ryan LaPointe in websockets/ws#2230.
... (truncated)
Commits
976c53c[dist] 8.18.059b9629[feature] Add support forBlob(#2229)0d1b5e6[security] Use more descriptive text for 2017 vulnerability link15f11a0[security] Add new DoS vulnerability to SECURITY.md3c56601[dist] 8.17.1e55e510[security] Fix crash when the Upgrade header cannot be read (#2231)6a00029[test] Increase code coverageddfe4a8[perf] Reduce the amount ofcrypto.randomFillSync()callsb73b118[dist] 8.17.029694a5[test] Use thehighWaterMarkvariable- Additional commits viewable in compare view
Updates @wdio/browserstack-service from 8.40.2 to 9.0.2
Release notes
Sourced from @wdio/browserstack-service's releases.
v9.0.2 (2024-08-16)
:bug: Bug Fix
wdio-browserstack-service
- #13374 fix(
@wdio/browserstack-service): support v9 of WebdriverIO (@christian-bromann)Committers: 2
- Christian Bromann (
@christian-bromann)- Erwin Heitzman (
@erwinheitzman)v9.0.1 (2024-08-15)
:bug: Bug Fix
wdio-browser-runner,webdriverio
- #13373 fix(webdriverio): don't allow to pass in empty array for startNodes (
@christian-bromann)Committers: 1
- Christian Bromann (
@christian-bromann)v9.0.0
:boom: Breaking Change
wdio-cli,wdio-devtools-service,wdio-lighthouse-service,wdio-utils,webdriver,webdriverio
- #12300 (
@wdio/lighthouse-service): migrate over from devtools service (@christian-bromann)wdio-allure-reporter,wdio-appium-service,wdio-browser-runner,wdio-browserstack-service,wdio-cli,wdio-concise-reporter,wdio-config,wdio-cucumber-framework,wdio-devtools-service,wdio-firefox-profile-service,wdio-jasmine-framework,wdio-json-reporter,wdio-junit-reporter,wdio-local-runner,wdio-mocha-framework,wdio-reporter,wdio-runner,wdio-sauce-service,wdio-shared-store-service,wdio-spec-reporter,wdio-testingbot-service,wdio-types,wdio-utils,wdio-webdriver-mock-service,webdriver,webdriverio
- #12987 breaking(*): better type definitions for capabilities (
@christian-bromann)- #11942 breaking(*): V9 migrate from got to fetch (
@tamil777selvan)@wdio/protocols
- #12006 breaking(
@wdio/protocols): V9 Remove JSONWireProtocol (@tamil777selvan):rocket: New Feature
webdriverio
- #13258 feat(webdriverio): new command to set viewport (
@christian-bromann)- #13250 feat(webdriverio): make using preload script easier (
@christian-bromann)- #13252 feat(webdriverio): support fake timers (
@christian-bromann)- #13247 feat(webdriverio): dialog handler (
@christian-bromann)wdio-types,webdriverio
- #13222 feat(webdriverio): new features for url command (
@christian-bromann)wdio-browser-runner
- #13212 feat(
@wdio/browser-runner): allow to define custom hostname for component tests (@christian-bromann)wdio-lighthouse-service,wdio-types,wdio-utils,webdriver
- #13210 feat(webdriver): automatically opt-into WebDriver Bidi (
@christian-bromann)wdio-protocols,wdio-utils,webdriver,webdriverio
- #12720 feat(webdriverio): deep shadow root piercing (
@christian-bromann):bug: Bug Fix
wdio-appium-service
- #13151 In
@wdio/appium-service, kill entire Appium process tree (@samuelfreiberg)webdriver
- #13150 fix(webdriver): better error response detection for Safari and FF (
@christian-bromann)
... (truncated)
Changelog
Sourced from @wdio/browserstack-service's changelog.
v9.0.2 (2024-08-16)
:bug: Bug Fix
wdio-browserstack-service
- #13374 fix(
@wdio/browserstack-service): support v9 of WebdriverIO (@christian-bromann)Committers: 2
- Christian Bromann (
@christian-bromann)- Erwin Heitzman (
@erwinheitzman)v9.0.1 (2024-08-15)
:bug: Bug Fix
wdio-browser-runner,webdriverio
- #13373 fix(webdriverio): don't allow to pass in empty array for startNodes (
@christian-bromann)Committers: 1
- Christian Bromann (
@christian-bromann)v9.0.0 (2024-08-15)
:boom: Breaking Change
wdio-cli,wdio-devtools-service,wdio-lighthouse-service,wdio-utils,webdriver,webdriverio
- #12300 (
@wdio/lighthouse-service): migrate over from devtools service (@christian-bromann)wdio-allure-reporter,wdio-appium-service,wdio-browser-runner,wdio-browserstack-service,wdio-cli,wdio-concise-reporter,wdio-config,wdio-cucumber-framework,wdio-devtools-service,wdio-firefox-profile-service,wdio-jasmine-framework,wdio-json-reporter,wdio-junit-reporter,wdio-local-runner,wdio-mocha-framework,wdio-reporter,wdio-runner,wdio-sauce-service,wdio-shared-store-service,wdio-spec-reporter,wdio-testingbot-service,wdio-types,wdio-utils,wdio-webdriver-mock-service,webdriver,webdriverio
- #12987 breaking(*): better type definitions for capabilities (
@christian-bromann)- #11942 breaking(*): V9 migrate from got to fetch (
@tamil777selvan)@wdio/protocols
- #12006 breaking(
@wdio/protocols): V9 Remove JSONWireProtocol (@tamil777selvan):rocket: New Feature
webdriverio
- #13258 feat(webdriverio): new command to set viewport (
@christian-bromann)- #13250 feat(webdriverio): make using preload script easier (
@christian-bromann)- #13252 feat(webdriverio): support fake timers (
@christian-bromann)- #13247 feat(webdriverio): dialog handler (
@christian-bromann)- #13371 feat(webdriverio): implement auto waiting for element to become interactable (
@erwinheitzman)wdio-types,webdriverio
- #13222 feat(webdriverio): new features for url command (
@christian-bromann)wdio-browser-runner
- #13212 feat(
@wdio/browser-runner): allow to define custom hostname for component tests (@christian-bromann)wdio-lighthouse-service,wdio-types,wdio-utils,webdriver
- #13210 feat(webdriver): automatically opt-into WebDriver Bidi (
@christian-bromann)wdio-protocols,wdio-utils,webdriver,webdriverio
- #12720 feat(webdriverio): deep shadow root piercing (
@christian-bromann):bug: Bug Fix
wdio-appium-service
... (truncated)
Commits
e8ae5d8v9.0.2ae8ff7efix(@wdio/browserstack-service): support v9 of WebdriverIO (#13374)2a869e5v9.0.19576934v9.0.0d0cfc16V9 ai support (#13340)80779bbbreaking(build): migrate to Esbuild for bundling (#13338)6376d1efix(docs): change file name of license from LICENSE-MIT to just LICENSE9dbc8bffix(webdriverio): remove ts compile issue33222e0Support app inside appium options (v9) (#13113)e5e157echore: Reload session support (#13085)- Additional commits viewable in compare view
Updates @wdio/cli from 8.40.2 to 9.0.1
Release notes
Sourced from @wdio/cli's releases.
v9.0.1 (2024-08-15)
:bug: Bug Fix
wdio-browser-runner,webdriverio
- #13373 fix(webdriverio): don't allow to pass in empty array for startNodes (
@christian-bromann)Committers: 1
- Christian Bromann (
@christian-bromann)v9.0.0
:boom: Breaking Change
wdio-cli,wdio-devtools-service,wdio-lighthouse-service,wdio-utils,webdriver,webdriverio
- #12300 (
@wdio/lighthouse-service): migrate over from devtools service (@christian-bromann)wdio-allure-reporter,wdio-appium-service,wdio-browser-runner,wdio-browserstack-service,wdio-cli,wdio-concise-reporter,wdio-config,wdio-cucumber-framework,wdio-devtools-service,wdio-firefox-profile-service,wdio-jasmine-framework,wdio-json-reporter,wdio-junit-reporter,wdio-local-runner,wdio-mocha-framework,wdio-reporter,wdio-runner,wdio-sauce-service,wdio-shared-store-service,wdio-spec-reporter,wdio-testingbot-service,wdio-types,wdio-utils,wdio-webdriver-mock-service,webdriver,webdriverio
- #12987 breaking(*): better type definitions for capabilities (
@christian-bromann)- #11942 breaking(*): V9 migrate from got to fetch (
@tamil777selvan)@wdio/protocols
- #12006 breaking(
@wdio/protocols): V9 Remove JSONWireProtocol (@tamil777selvan):rocket: New Feature
webdriverio
- #13258 feat(webdriverio): new command to set viewport (
@christian-bromann)- #13250 feat(webdriverio): make using preload script easier (
@christian-bromann)- #13252 feat(webdriverio): support fake timers (
@christian-bromann)- #13247 feat(webdriverio): dialog handler (
@christian-bromann)wdio-types,webdriverio
- #13222 feat(webdriverio): new features for url command (
@christian-bromann)wdio-browser-runner
- #13212 feat(
@wdio/browser-runner): allow to define custom hostname for component tests (@christian-bromann)wdio-lighthouse-service,wdio-types,wdio-utils,webdriver
- #13210 feat(webdriver): automatically opt-into WebDriver Bidi (
@christian-bromann)wdio-protocols,wdio-utils,webdriver,webdriverio
- #12720 feat(webdriverio): deep shadow root piercing (
@christian-bromann):bug: Bug Fix
wdio-appium-service
- #13151 In
@wdio/appium-service, kill entire Appium process tree (@samuelfreiberg)webdriver
- #13150 fix(webdriver): better error response detection for Safari and FF (
@christian-bromann):nail_care: Polish
webdriver
- #13214 chore(webdriver): show stack trace for bidi errors (
@christian-bromann)wdio-cli,wdio-config,wdio-local-runner,wdio-runner,wdio-types,webdriverio
- #12752 feat: replace
ts-nodewithtsx, remove autoCompileOpts (@goosewobbler):house: Internal
- #12779 fix: convert npm to pnpm in gitpod (
@sangcnguyen)- migrate package manager from NPM to pnpm
- #11493 breaking(*): V9 drop support for Node.js 16 (
@erwinheitzman)
... (truncated)
Changelog
Sourced from @wdio/cli's changelog.
v9.0.1 (2024-08-15)
:bug: Bug Fix
wdio-browser-runner,webdriverio
- #13373 fix(webdriverio): don't allow to pass in empty array for startNodes (
@christian-bromann)Committers: 1
- Christian Bromann (
@christian-bromann)v9.0.0 (2024-08-15)
:boom: Breaking Change
wdio-cli,wdio-devtools-service,wdio-lighthouse-service,wdio-utils,webdriver,webdriverio
- #12300 (
@wdio/lighthouse-service): migrate over from devtools service (@christian-bromann)wdio-allure-reporter,wdio-appium-service,wdio-browser-runner,wdio-browserstack-service,wdio-cli,wdio-concise-reporter,wdio-config,wdio-cucumber-framework,wdio-devtools-service,wdio-firefox-profile-service,wdio-jasmine-framework,wdio-json-reporter,wdio-junit-reporter,wdio-local-runner,wdio-mocha-framework,wdio-reporter,wdio-runner,wdio-sauce-service,wdio-shared-store-service,wdio-spec-reporter,wdio-testingbot-service,wdio-types,wdio-utils,wdio-webdriver-mock-service,webdriver,webdriverio
- #12987 breaking(*): better type definitions for capabilities (
@christian-bromann)- #11942 breaking(*): V9 migrate from got to fetch (
@tamil777selvan)@wdio/protocols
- #12006 breaking(
@wdio/protocols): V9 Remove JSONWireProtocol (@tamil777selvan):rocket: New Feature
webdriverio
- #13258 feat(webdriverio): new command to set viewport (
@christian-bromann)- #13250 feat(webdriverio): make using preload script easier (
@christian-bromann)- #13252 feat(webdriverio): support fake timers (
@christian-bromann)- #13247 feat(webdriverio): dialog handler (
@christian-bromann)- #13371 feat(webdriverio): implement auto waiting for element to become interactable (
@erwinheitzman)wdio-types,webdriverio
- #13222 feat(webdriverio): new features for url command (
@christian-bromann)wdio-browser-runner
- #13212 feat(
@wdio/browser-runner): allow to define custom hostname for component tests (@christian-bromann)wdio-lighthouse-service,wdio-types,wdio-utils,webdriver
- #13210 feat(webdriver): automatically opt-into WebDriver Bidi (
@christian-bromann)wdio-protocols,wdio-utils,webdriver,webdriverio
- #12720 feat(webdriverio): deep shadow root piercing (
@christian-bromann):bug: Bug Fix
wdio-appium-service
- #13151 In
@wdio/appium-service, kill entire Appium process tree (@samuelfreiberg)webdriver
- #13150 fix(webdriver): better error response detection for Safari and FF (
@christian-bromann):nail_care: Polish
webdriver
- #13214 chore(webdriver): show stack trace for bidi errors (
@christian-bromann)wdio-cli,wdio-config,wdio-local-runner,wdio-runner,wdio-types,webdriverio
- #12752 feat: replace
ts-nodewithtsx, remove autoCompileOpts (@goosewobbler):house: Internal
... (truncated)
Commits
2a869e5v9.0.19576934v9.0.0a19519ffeat(webdriverio): support (se/de)serialization of execute parameters (#13333)b4cb9e5chore(deps): bump inquirer from 9.3.6 to 10.1.8 (#13348)80779bbbreaking(build): migrate to Esbuild for bundling (#13338)6376d1efix(docs): change file name of license from LICENSE-MIT to just LICENSE9dbc8bffix(webdriverio): remove ts compile issue4ffb3b9fix(ci): revert inquirer update65412c2chore(deps): bump inquirer from 9.3.2 to 10.0.1 (#13168)43868ecfix(@wdio/types): define browser and element type to namespace- Additional commits viewable in compare view
Updates @wdio/local-runner from 8.40.2 to 9.0.1
Release notes
Sourced from @wdio/local-runner's releases.
v9.0.1 (2024-08-15)
:bug: Bug Fix
wdio-browser-runner,webdriverio
- #13373 fix(webdriverio): don't allow to pass in empty array for startNodes (
@christian-bromann)Committers: 1
- Christian Bromann (
@christian-bromann)v9.0.0
:boom: Breaking Change
wdio-cli,wdio-devtools-service,wdio-lighthouse-service,wdio-utils,webdriver,webdriverio
- #12300 (
@wdio/lighthouse-service): migrate over from devtools service (@christian-bromann)wdio-allure-reporter,wdio-appium-service,wdio-browser-runner,wdio-browserstack-service,wdio-cli,wdio-concise-reporter,wdio-config,wdio-cucumber-framework,wdio-devtools-service,wdio-firefox-profile-service,wdio-jasmine-framework,wdio-json-reporter,wdio-junit-reporter,wdio-local-runner,wdio-mocha-framework,wdio-reporter,wdio-runner,wdio-sauce-service,wdio-shared-store-service,wdio-spec-reporter,wdio-testingbot-service,wdio-types,wdio-utils,wdio-webdriver-mock-service,webdriver,webdriverio
- #12987 breaking(*): better type definitions for capabilities (
@christian-bromann)- #11942 breaking(*): V9 migrate from got to fetch (
@tamil777selvan)@wdio/protocols
- #12006 breaking(
@wdio/protocols): V9 Remove JSONWireProtocol (@tamil777selvan):rocket: New Feature
webdriverio
- #13258 feat(webdriverio): new command to set viewport (
@christian-bromann)- #13250 feat(webdriverio): make using preload script easier (
@christian-bromann)- #13252 feat(webdriverio): support fake timers (
@christian-bromann)- #13247 feat(webdriverio): dialog handler (
@christian-bromann)wdio-types,webdriverio
- #13222 feat(webdriverio): new features for url command (
@christian-bromann)wdio-browser-runner
- #13212 feat(
@wdio/browser-runner): allow to define custom hostname for component tests (@christian-bromann)wdio-lighthouse-service,wdio-types,wdio-utils,webdriver
- #13210 feat(webdriver): automatically opt-into WebDriver Bidi (
@christian-bromann)wdio-protocols,wdio-utils,webdriver,webdriverio
- #12720 feat(webdriverio): deep shadow root piercing (
@christian-bromann):bug: Bug Fix
wdio-appium-service
- #13151 In
@wdio/appium-service, kill entire Appium process tree (@samuelfreiberg)webdriver
- #13150 fix(webdriver): better error response detection for Safari and FF (
@christian-bromann):nail_care: Polish
webdriver
- #13214 chore(webdriver): show stack trace for bidi errors (
@christian-bromann)wdio-cli,wdio-config,wdio-local-runner,wdio-runner,wdio-types,webdriverio
- #12752 feat: replace
ts-nodewithtsx, remove autoCompileOpts (@goosewobbler):house: Internal
- #12779 fix: convert npm to pnpm in gitpod (
@sangcnguyen)- migrate package manager from NPM to pnpm
- #11493 breaking(*): V9 drop support for Node.js 16 (
@erwinheitzman)
... (truncated)
Changelog
Sourced from @wdio/local-runner's changelog.
v9.0.1 (2024-08-15)
:bug: Bug Fix
wdio-browser-runner,webdriverio
- #13373 fix(webdriverio): don't allow to pass in empty array for startNodes (
@christian-bromann)Committers: 1
- Christian Bromann (
@christian-bromann)v9.0.0 (2024-08-15)
:boom: Breaking Change
wdio-cli,wdio-devtools-service,wdio-lighthouse-service,wdio-utils,webdriver,webdriverio
- #12300 (
@wdio/lighthouse-service): migrate over from devtools service (@christian-bromann)wdio-allure-reporter,wdio-appium-service,wdio-browser-runner,wdio-browserstack-service,wdio-cli,wdio-concise-reporter,wdio-config,wdio-cucumber-framework,wdio-devtools-service,wdio-firefox-profile-service,wdio-jasmine-framework,wdio-json-reporter,wdio-junit-reporter,wdio-local-runner,wdio-mocha-framework,wdio-reporter,wdio-runner,wdio-sauce-service,wdio-shared-store-service,wdio-spec-reporter,wdio-testingbot-service,wdio-types,wdio-utils,wdio-webdriver-mock-service,webdriver,webdriverio
- #12987 breaking(*): better type definitions for capabilities (
@christian-bromann)- #11942 breaking(*): V9 migrate from got to fetch (
@tamil777selvan)@wdio/protocols
- #12006 breaking(
@wdio/protocols): V9 Remove JSONWireProtocol (@tamil777selvan):rocket: New Feature
webdriverio
- #13258 feat(webdriverio): new command to set viewport (
@christian-bromann)- #13250 feat(webdriverio): make using preload script easier (
@christian-bromann)- #13252 feat(webdriverio): support fake timers (
@christian-bromann)- #13247 feat(webdriverio): dialog handler (
@christian-bromann)- #13371 feat(webdriverio): implement auto waiting for element to become interactable (
@erwinheitzman)wdio-types,webdriverio
- #13222 feat(webdriverio): new features for url command (
@christian-bromann)wdio-browser-runner
- #13212 feat(
@wdio/browser-runner): allow to define custom hostname for component tests (@christian-bromann)wdio-lighthouse-service,wdio-types,wdio-utils,webdriver
- #13210 feat(webdriver): automatically opt-into WebDriver Bidi (
@christian-bromann)wdio-protocols,wdio-utils,webdriver,webdriverio
- #12720 feat(webdriverio): deep shadow root piercing (
@christian-bromann):bug: Bug Fix
wdio-appium-service
- #13151 In
@wdio/appium-service, kill entire Appium process tree (@samuelfreiberg)webdriver
- #13150 fix(webdriver): better error response detection for Safari and FF (
@christian-bromann):nail_care: Polish
webdriver
- #13214 chore(webdriver): show stack trace for bidi errors (
@christian-bromann)wdio-cli,wdio-config,wdio-local-runner,wdio-runner,wdio-types,webdriverio
- #12752 feat: replace
ts-nodewithtsx, remove autoCompileOpts (@goosewobbler):house: Internal
... (truncated)
Commits
2a869e5v9.0.19576934v9.0.0a19519ffeat(webdriverio): support (se/de)serialization of execute parameters (#13333)80779bbbreaking(build): migrate to Esbuild for bundling (#13338)c81171cchore(testing): update Vitest to v26376d1efix(docs): change file name of license from LICENSE-MIT to just LICENSE3a7b08ebreaking(*): better type definitions for capabilities (#12987)c18713bchore(@wdio/local-runner): fix linting963ddb9feat: replacets-nodewithtsx, remove autoCompileOpts (#12752)a46cea2Support mocking interface for Bidi (#12598)- Additional commits viewable in compare view
Updates webdriverio from 8.40.2 to 9.0.1
Release notes
Sourced from webdriverio's releases.
v9.0.1 (2024-08-15)
:bug: Bug Fix
wdio-browser-runner,webdriverio
- #13373 fix(webdriverio): don't allow to pass in empty array for startNodes (
@christian-bromann)Committers: 1
- Christian Bromann (
@christian-bromann)v9.0.0
:boom: Breaking Change
wdio-cli,wdio-devtools-service,wdio-lighthouse-service,wdio-utils,webdriver,webdriverio
- #12300 (
@wdio/lighthouse-service): migrate over from devtools service (@christian-bromann)wdio-allure-reporter,wdio-appium-service,wdio-browser-runner,wdio-browserstack-service,wdio-cli,wdio-concise-reporter,wdio-config,wdio-cucumber-framework,wdio-devtools-service,wdio-firefox-profile-service,wdio-jasmine-framework,wdio-json-reporter,wdio-junit-reporter,wdio-local-runner,wdio-mocha-framework,wdio-reporter,wdio-runner,wdio-sauce-service,wdio-shared-store-service,wdio-spec-reporter,wdio-testingbot-service,wdio-types,wdio-utils,wdio-webdriver-mock-service,webdriver,webdriverio
- #12987 breaking(*): better type definitions for capabilities (
@christian-bromann)- #11942 breaking(*): V9 migrate from got to fetch (
@tamil777selvan)@wdio/protocols
- #12006 breaking(
@wdio/protocols): V9 Remove JSONWireProtocol (@tamil777selvan):rocket: New Feature
webdriverio
- #13258 feat(webdriverio): new command to set viewport (
@christian-bromann)- #13250 feat(webdriverio): make using preload script easier (
@christian-bromann)- #13252 feat(webdriverio): support fake timers (
@christian-bromann)- #13247 feat(webdriverio): dialog handler (
@christian-bromann)wdio-types,webdriverio
- #13222 feat(webdriverio): new features for url command (
@christian-bromann)wdio-browser-runner
- #13212 feat(
@wdio/browser-runner): allow to define custom hostname for component tests (@christian-bromann)wdio-lighthouse-service,wdio-types,wdio-utils,webdriver
- #13210 feat(webdriver): automatically opt-into WebDriver Bidi (
@christian-bromann)wdio-protocols,wdio-utils,webdriver,webdriverio
- #12720 feat(webdriverio): deep shadow root piercing (
@christian-bromann):bug: Bug Fix
wdio-appium-service
- #13151 In
@wdio/appium-service, kill entire Appium process tree (@samuelfreiberg)webdriver
- #13150 fix(webdriver): better error response detection for Safari and FF (
@christian-bromann):nail_care: Polish
webdriver
- #13214 chore(webdriver): show stack trace for bidi errors (
@christian-bromann)wdio-cli,wdio-config,wdio-local-runner,wdio-runner,wdio-types,webdriverio
- #12752 feat: replace
ts-nodewithtsx, remove autoCompileOpts (@goosewobbler):house: Internal
- #12779 fix: convert npm to pnpm in gitpod (
@sangcnguyen)- migrate package manager from NPM to pnpm
- #11493 breaking(*): V9 drop support for Node.js 16 (
@erwinheitzman)
... (truncated)
Changelog
Sourced from webdriverio's changelog.
v9.0.1 (2024-08-15)
:bug: Bug Fix
wdio-browser-runner,webdriverio
- #13373 fix(webdriverio): don't allow to pass in empty array for startNodes (
@christian-bromann)Committers: 1
- Christian Bromann (
@christian-bromann)v9.0.0 (2024-08-15)
:boom: Breaking Change
wdio-cli,wdio-devtools-service,wdio-lighthouse-service,wdio-utils,webdriver,webdriverio
- #12300 (
@wdio/lighthouse-service): migrate over from devtools service (@christian-bromann)wdio-allure-reporter,wdio-appium-service,wdio-browser-runner,wdio-browserstack-service,wdio-cli,wdio-concise-reporter,wdio-config,wdio-cucumber-framework,wdio-devtools-service,wdio-firefox-profile-service,wdio-jasmine-framework,wdio-json-reporter,wdio-junit-reporter,wdio-local-runner,wdio-mocha-framework,wdio-reporter,wdio-runner,wdio-sauce-service,wdio-shared-store-service,wdio-spec-reporter,wdio-testingbot-service,wdio-types,wdio-utils,wdio-webdriver-mock-service,webdriver,webdriverio
- #12987 breaking(*): better type definitions for capabilities (
@christian-bromann)- #11942 breaking(*): V9 migrate from got to fetch (
@tamil777selvan)@wdio/protocols
- #12006 breaking(
@wdio/protocols): V9 Remove JSONWireProtocol (@tamil777selvan):rocket: New Feature
webdriverio
- #13258 feat(webdriverio): new command to set viewport (
@christian-bromann)- #13250 feat(webdriverio): make using preload script easier (
@christian-bromann)- #13252 feat(webdriverio): support fake timers (
@christian-bromann)- #13247 feat(webdriverio): dialog handler (
@christian-bromann)- #13371 feat(webdriverio): implement auto waiting for element to become interactable (
@erwinheitzman)wdio-types,webdriverio
- #13222 feat(webdriverio): new features for url command (
@christian-bromann)wdio-browser-runner
- #13212 feat(
@wdio/browser-runner): allow to define custom hostname for component tests (@christian-bromann)wdio-lighthouse-service,wdio-types,wdio-utils,webdriver
- #13210 feat(webdriver): automatically opt-into WebDriver Bidi (
@christian-bromann)wdio-protocols,wdio-utils,webdriver,webdriverio
- #12720 feat(webdriverio): deep shadow root piercing (
@christian-bromann):bug: Bug Fix
wdio-appium-service
Added ChainablePromiseElement.getElement() calls manually due to API change.
There's a lot more files that would need to be changed. A simpler way to fix this might be to change all the functions in https://github.com/ruffle-rs/ruffle/blob/master/web/packages/selfhosted/test/utils.ts that take a WebdriverIO.Element to take a ChainablePromiseElement, and then add a .getElement to the start of each of those functions.
The other needed change is .getHTML(false); should now be .getHTML({"includeSelectorTag": false});. According to https://github.com/webdriverio/webdriverio/blob/e8ae5d8c577c514f571ae8760df43ea0a17ae7e3/packages/webdriverio/src/commands/element/getHTML.ts#L79, they intended backwards compatibility, but the type definitions don't actually lend themselves to that.
Linux command for that change could maybe be this:
grep -rl 'getHTML(false' | xargs sed -i 's/getHTML(false/getHTML({"includeSelectorTag": false}/g'
While we can change the code to use the new definitions for getHTML, I did open https://github.com/webdriverio/webdriverio/issues/13378
Is it possible that the ChainablePromiseElement type is not exported? :thinking:
I can't see it mentioned in the API reference, or in @wdio/types...
You can use ChainablePromiseElement, it's not WebdriverIO.ChainablePromiseElement
https://github.com/webdriverio/webdriverio/blob/main/packages/webdriverio/src/types.ts#L70
wdio.conf.ts(218,5): error TS2353: Object literal may only specify known properties, and 'capabilities' does not exist in type 'Testrunner'.
We'll need to consult the documentation for this one. https://github.com/webdriverio/webdriverio/releases/tag/v9.0.0 does mention better type definitions for capabilities as a breaking change.
We'll need to consult the documentation for this one. https://github.com/webdriverio/webdriverio/releases/tag/v9.0.0 does mention better type definitions for capabilities as a breaking change.
Yep, and all the examples I've seen for this use a plain object for config, but still with a capabilities key that is an array of objects...
Errors seem to be:
Can't transform classic selector tag name to Bidi selector
Technically, ruffle-player is a valid CSS selector, not <ruffle-player>, so maybe that's the issue. Totally untested though.
Let's try that!
Note: If that's the issue, the same will be true of <ruffle-object /> and <ruffle-embed /> and <ruffle-object>
Nah, the error seems unrelated to that: https://github.com/ruffle-rs/ruffle/actions/runs/10424284257/job/28872786614?pr=17539#step:11:16287:
message: 'no such element: Unable to locate element: {"method":"tag name","selector":"ruffle-object"}
I also tried these commands locally:
cd web/packages/selfhosted/test/
grep -rl '<ruffle-object />' | xargs sed -i 's/<ruffle-object \/>/ruffle-object/g'
grep -rl '<ruffle-embed />' | xargs sed -i 's/<ruffle-embed \/>/ruffle-embed/g'
grep -rl '<ruffle-object>' | xargs sed -i 's/<ruffle-object>/ruffle-object/g'
After that, I tested this locally with this command:
npm run wdio --headless --chrome
I still got errors.
Actually, my errors are as follows:
[chrome-headless-shell 127.0.6533.119 linux #0-40] AssertionError: expected { error: { …(5) } } to deeply equal [ 'test' ]
[chrome-headless-shell 127.0.6533.119 linux #0-40] at Context.<anonymous> (/home/dj/work/rust/ruffle_source/ruffle/web/packages/selfhosted/test/integration_tests/external_interface/test.ts:251:32)
[chrome-headless-shell 127.0.6533.119 linux #0-40]
[chrome-headless-shell 127.0.6533.119 linux #0-40] 4) ExternalInterface supports calling a method that doesn't exist
[chrome-headless-shell 127.0.6533.119 linux #0-40] expected 'callMethodWithDelay called with 2 arg…' to deeply equal 'callMethodWithDelay called with 1 arg…'
Which is different to the current errors.
Required commands:
cd web/packages/selfhosted/test/
grep -rl '<ruffle-object />' | xargs sed -i 's/<ruffle-object \/>/ruffle-object/g'
grep -rl '<ruffle-embed />' | xargs sed -i 's/<ruffle-embed \/>/ruffle-embed/g'
grep -rl '<ruffle-object>' | xargs sed -i 's/<ruffle-object>/ruffle-object/g'
grep -rl '<div />' | xargs sed -i 's/<div \/>/div/g'
grep -rl 'includeSelectorTag: false' | xargs sed -i 's/includeSelectorTag: false/includeSelectorTag: false, pierceShadowRoot: false/g'
npm run format
Even then, some things still need updates.
- test/polyfill/classic_frames_injected/test.ts
- test/polyfill/classic_frames_provided/test.ts
- test/polyfill/iframes_injected/test.ts
- test/polyfill/iframes_provided/test.ts
- test/integration_tests/external_interface/test.ts
These are the failing files after those changes.
Currently blocked on https://github.com/webdriverio/webdriverio/issues/13218, I believe.
That's the blocker for 4 of the 5 tests I believe, yes. I tried working around it in a few ways but the workarounds seem to have their own bugs.
The blocker for the ExternalInterface test may just be that I don't know how to properly make the changes to that test.
https://github.com/ruffle-rs/ruffle/pull/17539/commits/656a068392e651d6f6adca21fd7d2097b04aaac0 works around the webdriverio frame switching issue but it makes the code much more complicated.
test/integration_tests/external_interface/test.ts is still failing.
Opened https://github.com/webdriverio/webdriverio/issues/13444 for the remaining issue
Pushed fix for EI test just as proof of concept. Converted to draft. Ideally, https://github.com/webdriverio/webdriverio/issues/13218 and https://github.com/webdriverio/webdriverio/issues/13444 will be fixed, we'll drop the latest two commits, bump to the version of webdriverio and related dependencies with the fixes, and then mark this as ready for review.
At least we now know that the workarounds indeed work(around)!
Since https://github.com/webdriverio/webdriverio/issues/13444 got fixed, I dropped the commit that worked around it.
I wonder whether updating to 9.1.1 woud make fewer workarounds and hacks necessary... 🤔
I actually tried that locally earlier today. At the very least doing so and then checking out https://github.com/ruffle-rs/ruffle/pull/17539/commits/de5be7c42228844aa0aae4b20a926ff82dda019b didn't let the frame/iframe tests pass.
We're down to one unresolved upstream issue, with a workaround for it in a single commit that should be easily revertable later, affecting just ~~4~~ 2 tests.
Note: This is now waiting on a fix for https://github.com/webdriverio/webdriverio/issues/13763
The workaround is no longer needed with wdio 9.2.2, it seems! :tada: @danielhjacobs
We should probably re-generate it soon anyway though, I'm sure it's getting out of date.
I did exactly that:
cd ruffle/web
rm -rf node_modules/
rm -rf package-lock.json
npm install --save --save-dev --save-peer --keep --keep-dev --keep-peer