Commit graph

270 commits

Author SHA1 Message Date
Brian Birtles
e8a4ee4c35
fix: escape scripts in addInitScript (#14717)
If the script passed to addInitScript contains template literals then
we'll run into problems where we try to embed it in another template
literal hence we need to escape the script first.

The E2E test added in this patch fails without the corresponding code
change.
2025-08-23 21:43:05 -07:00
goosewobbler
3ac2341c00
fix(wdio-xvfb): autoXvfb should disable xvfb completely (#14700)
* feat(wdio-xvfb): add `enable`, remove CI check, update types

* chore: update lockfile

* docs(wdio-xvfb): update for new options

* test(wdio-xvfb): update units

* docs(wdio-xvfb): verbiage tweaks

* fix(wdio-local-runner): explicitly disable xvfb when autoXvfb is false

* docs(website): add page on headless / xvfb to testrunner

* test(wdio-local-runner): add tests for new options

* test(e2e): update for new behaviour

* chore(wdio-xvfb): revert some type changes

* chore(wdio-xvfb): fix type error

* test(wdio-xvfb): add comments

* test(wdio-xvfb): fix units and type issues

* feat(wdio-xvfb): improve auto install handling

* chore(wdio-local-runner): update type

* chore(types): update `xvfbAutoInstall` option for advanced control

* test(wdio-xvfb): update units for new behaviour

* test(wdio-local-runner): add tests for passing xvfbAutoInstall

* docs(wdio-xvfb): update for new xvfbAutoInstall

* docs(website): update for new `xvfbAutoInstall`

* refactor(wdio-xvfb): fix logic and clean up

* test(wdio-xvfb): fix units

* test(wdio-xvfb): fix windows-specific test failures

* test(e2e): fix base xvfb tests

* test(wdio-xvfb): add a couple more object format units

* test(e2e): add advanced config tests

* refactor(e2e): use marker files to test custom commands

* docs(website): add more detail

* test(e2e): dynamically assign mode

* feat(wdio-xvfb): array command escaping

* fix(e2e): update command

* docs(website): add missing xvfb options

* chore(wdio-local-runner): remove unnecessary `any`

* refactor(wdio-xvfb): pull apart options

* docs(wdio-xvfb): update for new options

* docs(website): update for new options

* refactor(types): rework xvfb options

* chore(wdio-local-runner): pass through new options

* test(e2e): update for new options, skip non-linux platforms

* test(wdio-xvfb): update units

* test(wdio-local-runner): update units

* fix(e2e): remove unnecessary `forceInstall`

* refactor(e2e): simplify tests

* fix(e2e): change `autoInstallMode` default

* docs(wdio-xvfb): change `autoInstallMode` default

* docs(website): update `autoInstallMode` default

* test(wdio-xvfb): update for `autoInstallMode` default change
2025-08-23 21:12:18 -07:00
goosewobbler
0bd23786b9
feat(wdio-xvfb): add xvfbAutoInstall option (#14696)
* feat(wdio-xvfb): add autoInstall option

* docs(wdio-xvfb): update for new option

* feat(wdio-local-runner): pass through new config option

* test(wdio-xvfb): update for autoInstall

* feat(wdio-types): add `xvfbAutoInstall` option

* test(e2e): update E2Es for autoInstall

* refactor(e2e): move disabled autoInstall tests above
2025-08-11 22:35:59 -07:00
goosewobbler
d30462eb7f
feat: @wdio/xvfb (#14663)
* feat: `@wdio/xvfb`

* feat(local-runner): use `@wdio/xvfb`

* chore: update lockfile

* chore(wdio-xvfb): update version

* chore: add `@wdio/xvfb` to compile script

* chore(wdio-xvfb): fix exports

* test(wdio-xvfb): fix unit tests

* test(wdio-local-runner): add xvfb tests

* chore(wdio-xvfb): add logging

* chore(wdio-xvfb): process runs independently

* feat(wdio-xvfb): skip startup when display in use

* test(wdio-xvfb): fix unit tests

* refactor(wdio-xvfb): use `xvfb-run`

* chore: update lockfile

* refactor(wdio-local-runner): use processFactory

* refactor(wdio-xvfb): remove command execution

* test(e2e): add xvfb E2Es

* chore: update lockfile

* docs(wdio-xvfb): update LICENSE

Co-authored-by: Christian Bromann <git@bromann.dev>

* refactor(wdio-xvfb): rework distro detection

* docs(wdio-xvfb): update for distros

* test(e2e): add new distros, fix perm issues

* refactor(wdio-xvfb): use `is-ci`

* chore: update lockfile

* test(wdio-xvfb): mock `is-ci`

* refactor(wdio-local-runner): processFactory tweaks

* test(wdio-xvfb): fix `is-ci` mocking

* refactor(wdio-xvfb): rework distro detection

* refactor(wdio-local-runner): import xvfb directly

* fix(e2e): fix log perms issue

* fix(e2e): xvfb dockerfile fixes

* chore(e2e): exit correctly

* fix(wdio-xvfb): update install commands

* chore(e2e): ensure clean environments without xvfb

* docs(wdio-xvfb): update README

* chore(e2e): fix arch chrome install

* fix(e2e): fix SUSE perm issue

* fix(e2e): fix EACCES

* fix(e2e): fix exit issue

* chore(e2e): add zypper xvfb fallback

* fix(e2e): more aggressive removal of xvfb in clean images

* chore(e2e): fix issues

* fix(e2e): fix suse xvfb install

* chore(wdio-types): add disableAutoXvfb option

* feat(wdio-local-runner): skip auto xvfb init

* chore(e2e): disable auto xvfb init

* fix(wdio-local-runner): check if xvfb-run available

* chore(e2e): increase timeout

* chore(wdio-xvfb): add logging

* chore(wdio-xvfb): add override & force props for tests

* test(e2e): update for new manager props

* test(wdio-xvfb): update units

* test(e2e): add debug

* test(wdio-local-runner): make flaky test more robust

* chore(e2e): update chromium install for alpine

* chore(e2e): add more debug

* test(wdio-xvfb): update timeout values

* chore(e2e): update alpine repos

* test(e2e): add more debug

* test(e2e): add more debug

* test(e2e): remove cleanup

* test(e2e): port fix to existing-xvfb

* chore(e2e): standardize on node 22

* chore(e2e): remove debug

* chore(e2e): remove redundant test

* chore(e2e): add back alpine fix

* chore(e2e): update chromeOptions

* chore(e2e): display logs on failure

* chore(e2e): standardize nomenclature

* chore(e2e): delete README

* chore: add NL

* feat(wdio-xvfb): add void / xbps support

* test(e2e): add void E2Es

* refactor(e2e): remove rocky tests (covered by fedora)

* fix(e2e): fix void docker issues

* feat(wdio-xvfb): detect headless mode

* feat(wdio-local-runner): lazy init xvfb for headless mode detection

* docs(wdio-xvfb): update for package manager-centric approach & headless mode detection

* chore(wdio-xvfb): update xbps install command

* chore(wdio-xvfb): use types package for caps, remove legacy options support

* test(wdio-xvfb): remove tests for unsupported options

* chore(wdio-xvfb): add `@wdio/types`

* chore: update lockfile

* chore(wdio-xvfb): update xbps command

* chore(wdio-xvfb): update commands to refresh package repos

* test(wdio-xvfb): fix type error

* chore(e2e): update base dockerfiles for distro-specific xvfb removal

* chore(wdio-xvfb): update zypper command

* chore(e2e): update zypper xvfb clean

* refactor: move ProcessFactory to `wdio-xvfb`

* feat(wdio-xvfb): retries

* chore(wdio-types): add xvfb opts

* refactor(wdio-local-runner): pass xvfbmanager to processfactory

* refactor(e2e): update for `@wdio/xvfb` changes

* docs(wdio-xvfb): update README for retries

* chore(e2e): remove browserVersion

* Update packages/wdio-local-runner/src/index.ts

---------

Co-authored-by: Christian Bromann <git@bromann.dev>
2025-08-10 17:48:31 -07:00
Vishnu Vardhan
1caf4b09fc
[BUG-14514] - Switch frame to an iframe in a Shadow DOM (#14589)
* Squashed commit of the following:

commit ed6225080da8cc5e48c91afdd7bcc8709495b06c
Author: Vishnu Vardhan <vishnu.p@browserstack.com>
Date:   Wed Jun 25 16:04:25 2025 +0530

    Trigger EasyCLA

commit da54fcf7f8da91e1a880ad8287c8cbd1a2b1a75d
Author: Vishnu Vardhan <vishnu.p@browserstack.com>
Date:   Tue Jun 24 15:59:12 2025 +0530

    Comment

commit ad9316ea5691180751dcf2238c63bd52b3e09da4
Merge: 97e851abe ff2154c00
Author: Vishnu Vardhan <vardhan688@gmail.com>
Date:   Tue Jun 24 13:44:09 2025 +0530

    Merge branch 'main' into bug-14514

commit 97e851abeaa3f1fc708c88aa03752c1f002c0cc0
Merge: 5bb2673ac 24855c2a9
Author: Vishnu Vardhan <vardhan688@gmail.com>
Date:   Mon Jun 23 16:02:41 2025 +0530

    Merge branch 'main' into bug-14514

commit 5bb2673ac7e86c9a8f896f583c84a8793382d3dd
Merge: ac1ad4946 d80354dbd
Author: Vishnu Vardhan <vardhan688@gmail.com>
Date:   Fri Jun 20 12:58:50 2025 +0530

    Merge branch 'main' into bug-14514

commit ac1ad494620dfea5fb3868064f06b74051c26bea
Merge: 04711904c 072e55137
Author: Vishnu Vardhan <vardhan688@gmail.com>
Date:   Thu Jun 19 13:13:03 2025 +0530

    Merge branch 'main' into bug-14514

commit 04711904c2abb386a7b519dd9ea67490d7c2d01f
Merge: d70b3b1eb d344dd4db
Author: Vishnu Vardhan <vishnu.p@browserstack.com>
Date:   Wed Jun 18 16:08:30 2025 +0530

    Merge branch 'bug-14514' of github.com:vishnuv688/webdriverio into bug-14514

commit d70b3b1ebda25d9003ed02272b71ef78b310bdd7
Author: Vishnu Vardhan <vishnu.p@browserstack.com>
Date:   Wed Jun 18 16:07:11 2025 +0530

    Fixes webdriverio#14514

commit d344dd4db2fa9546fbff78a20c4d591d933e2fc5
Merge: 35af4399e 5818efe49
Author: Vishnu Vardhan <vardhan688@gmail.com>
Date:   Wed Jun 18 15:52:47 2025 +0530

    Merge branch 'main' into bug-14514

commit 35af4399ea0f2b6c3172ff5b0670fde283397e19
Merge: 44fe5f51e 41ddf78f4
Author: Vishnu Vardhan <vishnu.p@browserstack.com>
Date:   Wed Jun 18 15:48:48 2025 +0530

    Merge branch 'bug-14514' of github.com:vishnuv688/webdriverio into bug-14514

commit 44fe5f51ec13d31c0a6a11b34c574d2c4c330bdd
Author: VishnuVardhan P <vishnu.p@browserstack.com>
Date:   Wed Jun 18 15:42:21 2025 +0530

    [BUG-14514] - Switch frame to an iframe in a Shadow DOM

commit 41ddf78f4fb742511eba1aa512cff788dd77d6e6
Author: Vishnu Vardhan P <vishnu.p@browserstack.com@Vishnus-MacBook-Air.local>
Date:   Wed Jun 18 15:42:21 2025 +0530

    [BUG-14514] - Switch frame to an iframe in a Shadow DOM

* Moved shadowDOM file from utils to scripts

* fix lint errors

* Update packages/wdio-utils/src/initializeServices.ts

* Review changes

* Reproduction E2E test case

* Added E2E test case when url is passed to switchFrame

* Resolved test failures caused by recent changes

* Resolved E2E test failures caused by recent changes

---------

Co-authored-by: Christian Bromann <git@bromann.dev>
2025-07-23 10:53:37 -07:00
Christian Bromann
69b2f3f90b
chore(*): update major dependencies where possible (#14641)
* chore(*): update major dependencies where possible

* add back missing Chalk

* fix unit tests

* revert serialize-error update due to lacking Node.js v18 support

* Revert "revert serialize-error update due to lacking Node.js v18 support"

This reverts commit 34bf1d0f501820be0051d1fec5105158f8588580.

* revert undici instead
2025-07-14 11:27:01 -07:00
Christian Bromann
6464dc7d4a
fix(@wdio/jasmine-framework): become independant from expect-webdriverio (#14592)
* fix(@wdio/jasmine-framework): become independant from expect-webdriverio

* remove console.log

* get tests to work

* fix(ci): add eslint as dep

* fix tests

* run unit tests on Node.js 20, 22 and 24

* move @sveltejs/vite-plugin-svelte to browser runner

* remove usage of Node.js primitives in webdriver and webdriverio

* fix unit tests

* skip svelte test for now

* increase timeouts

* fix component test

* increase timeouts

* increase timeouts

* increase timeouts

* fix imageSize call
2025-07-08 12:51:42 -07:00
JustasM
10cddfd73c
feat(wdio-runner): automatically include SoftAssertionService (#14546)
* feat: automatically include SoftAssertionService in the core

* fix(docs): clarify default inclusion of SoftAssertionService in documentation

* feat: add autoAssertOnTestEnd option to control soft assertion behavior

* Update website/docs/Configuration.md

* Update website/docs/Assertion.md

* refactor(docs): reorganize Soft Assertions section for clarity

* feat: add SoftAssertionService to expect-webdriverio mock

* fix(tests): adjust snapshot formatting for consistency in React component tests

---------

Co-authored-by: Christian Bromann <git@bromann.dev>
2025-06-11 15:16:37 -07:00
David Prevost
2e070380e8
feat(runner+browserstack): Mask sensitive data for Reporters (and more) (#13938)
* Draft solution masking on the `onBeforeCommand`

Use same default string as appium

Use same default token as appium

Full working solutions

Fix compilation problems

Remove it from capabilities from simplicity

Fix grammar

Use Regex native type

Draft mask body & command args in webdriver directly

Full working solution

Removing old solution and complete the new one

Revert "Draft solution masking on the `onBeforeCommand`"

This reverts commit 5feb324af2d2a1ded4e81c86cad2670a34150b7b.

Code review

Update packages/webdriver/src/command.ts

Co-authored-by: Christian Bromann <git@bromann.dev>
Unit test on the regExp converter from string

Add missing case of missing starting and ending slash

Remove undesired changes

Convert string to regExps only once
Fix problem after rebase
remove occurences of any

Add new mask parameter to elementSendKeys to mask text input and more

Added also the `/session/:sessionId/appium/settings` endpoints to generate regEx from the sensitive value so that we can mask the value int he appium log on top of WebDriver log and other touchpoint
e2e test for masking text value with setValue command

Use `updateSettings` only with Appium

Review solution to be completely outside of `request.ts`

Use env `WDIO_LOG_MASKING_PATTERNS` to pass regex and mask log

Full working solutions to mask logs with 0 1 or 2 capturing group

Working solution to mask for example BrowserStack key in logs

Code review
Fix masking not working when output directly in console

mask string logging only

Better code for wdio-logger masking + more unit tests

- Better typing in logger to reflect reality of having only 1 arg of type string of 3 args where the third can be anything.
- Move masking utility code into an utils file and add better unit tests
- Add `setMaskingPatterns` following `setLogLevelsConfig` for more flexible configuration
- Fix a couple fo edge cases
- Ensure we mask the output of serializers too

Have mask in command optional and fix ut

- Have mask optional in send and add command to not interfere with expected output and be less "breaking" if masking is not used
- fix ut affected by new logData eventhandler

Better masking code for command with masking at true

- Move masking code for command into an utility
- Use args better with index to fetch mask and text
- Apply masking only if the command has the param 'mask', 'text' and mask is true
- Share the logger replacer with this package
- Fix Logger mock for the `SENSITIVE_DATA_REPLACER`
- Replace the sensitive info in both the body and args
- Make sure we reuse existing body and args if no masking require for better backward compatibility
- Add unit test for commands with masking

Review e2e tests to had a input with masking case

Remove `.only` on tests

Remove fail tentative

Tentative fix for failure in `react.test.tsx`

- react.test.tsx: SyntaxError: Importing binding name 'SENSITIVE_DATA_REPLACER' is not found

* Use the new appium http header masking automatically

* fix: used an additional non-typed options to pass the masking property

* Add an options object for future needs

* Fix masking e2e

* Be more verbose on the unmasked vs masked version in the code

* Update packages/wdio-logger/src/index.ts

Co-authored-by: Christian Bromann <git@bromann.dev>

* Update packages/wdio-logger/src/index.ts

Co-authored-by: Christian Bromann <git@bromann.dev>

* Code review

- Use optional options instead
- Add more comment on intentions

* Update packages/webdriver/src/types.ts

* Update packages/webdriverio/src/types.ts

* Update packages/webdriver/tests/command.test.ts

* Update packages/webdriverio/src/types.ts

* Update packages/webdriver/tests/utils.test.ts

* On more UT for emit and log.info cases with masked data

* make sure the capture data are reset

* Better integration of the appium header

* final code review

* Fix pipeline

* Fix depcheck

* Fix this.client header undesired alteration

* Ensure more code coverage

* Apply suggestions from code review
Apply suggestions from code review
Apply suggestions from code review

* Code reviews

* Fix `CommandRuntimeOptions is not defined`

* Review to mask all captured group + documentation

* Add more verbose e2e

* Add `maskingPatterns` capabilities to set easily masking patterns

* Code review

* Test if this is causing e2e to fails!

* Fix typo

* Rectify doc since it is not a capability

* More robust masking algorithm supporting logging of string array

- Apply masking on the entire string after stripping the colors (ansi) for a more robust algorithm
- The above allow to support regular expression with keyword like `RESULT` or `COMMAND` or `BIDI COMMAND`
- Downside is in the console some colors are lost
- Enhance doc for the above and show an example to configure all loggers since using wdio.conf object not always work for all of them

* Simplify `setMaskingPatterns` API

* Add JSDOC and simplify `mask` following previous changes

* Update packages/webdriverio/src/types.ts

Co-authored-by: Christian Bromann <git@bromann.dev>

* Update packages/webdriver/src/types.ts

Co-authored-by: Christian Bromann <git@bromann.dev>

* Use suggested return-early version of mask in used command.ts

* Fix grammar + review doc

* be more human friendly

* Test

* Code review

* Fix new line sometimes stripped away

* Update packages/wdio-logger/README.md

Co-authored-by: Christian Bromann <git@bromann.dev>

* Apply suggestions from code review

Co-authored-by: Christian Bromann <git@bromann.dev>

* Last comment review checking types in setMaskingPatterns

* Add doc on `maskingPatterns` in Configuration.md

* Add guides on security

* Apply suggestions from code review

* Add missing import in example

---------

Co-authored-by: Christian Bromann <git@bromann.dev>
2025-05-29 14:18:24 -07:00
David Prevost
b743683b77
Skip failing e2e following past merge fixing a only skipping all tests (#14519) 2025-05-29 16:55:40 +02:00
David Prevost
ce760c90fb
chore: reenable headless/test.e2e.ts tests (#14464)
A describe.only was masking the entire file from the pipeline. I skipped the current failing one which is not making the situation worts
2025-05-11 15:08:44 +02:00
Erwin Heitzman
dff8319526
fix(webdriverio): fix failing e2e tests due to language and timezone differences (#14215)
* fix(webdriverio): fix flaky e2e tests due to language and timezone differences

* fix: fix more flaky e2e tests

* fix: revert some changes

* fix: update CONTRIBUTING.md
2025-02-26 19:15:15 +01:00
Christian Bromann
dd5d5c7505
fix(webdriverio): wait for option to become available before clicking (#14213)
* fix(webdriverio): wait for option to become available before clicking

* fix unit test

* apply feature to other select commands

* remove .only
2025-02-21 14:47:32 -08:00
Christian Bromann
3bd6064d65
fix(webdriverio): find the right request when loading hash urls (#14196)
* fix(webdriverio): find the right request when loading hash urls

* add docs

* more docs
2025-02-18 10:43:58 -08:00
Christian Bromann
20b23fe8d8
fix(webdriverio): fix initializing session manager after attaching to new session (#14183)
* fix(webdriverio): fix initializing session manager after attaching to new session

* fix test
2025-02-14 09:48:18 -08:00
Christian Bromann
c74f56bfbc
fix(webdriverio): properly run and test switch to frame by function (#14153)
* fix(webdriverio): properly run and test switch to frame by function

* fix test
2025-02-05 12:06:06 -08:00
Christian Bromann
9c4d278f25
fix(webdriverio): reset context on navigation events (#14128)
* fix(webdriverio): reset context on navigation events

* add tests

* properly switch to correct context
2025-02-05 12:03:41 -08:00
Christian Bromann
13861b47a7
fix(ci): fix classic tests 2025-01-21 10:57:22 -08:00
Christian Bromann
1cd36364f3
fix(ci): better assertions 2025-01-20 13:32:25 -08:00
Christian Bromann
92f689ecd0
fix(ci): better assertions 2025-01-20 13:10:18 -08:00
Christian Bromann
6e580648e3
fix(ci): fix 2025-01-20 13:04:07 -08:00
Christian Bromann
3f3cad6b21
fix(ci): debug 2025-01-20 12:03:22 -08:00
Christian Bromann
0c00e83cbb
fix(ci): adjust assertion 2025-01-20 11:46:28 -08:00
Christian Bromann
17d67cedf3
fix(ci): adjust test for CI 2025-01-20 11:31:35 -08:00
Christian Bromann
8056de243c
fix(ci): missing commit 2025-01-20 10:38:37 -08:00
Christian Bromann
fe45f81006
fix(ci): resolve e2e errors 2025-01-20 09:45:08 -08:00
Christian Bromann
33a1b19670
fix(webdriverio): properly switch context using switchToParentFrame() (#14070)
* fix(webdriverio): properly switch context using switchToParentFrame()

* fix e2e test

* fix unit test

* revert wrong change

* fix(webdriverio): allow to take screenshots of frames (#14071)

* fix(webdriverio): allow to take screenshots of frames

* Update packages/webdriverio/src/commands/browser/saveScreenshot.ts

Co-authored-by: Swastik Baranwal <swstkbaranwal@gmail.com>

---------

Co-authored-by: Swastik Baranwal <swstkbaranwal@gmail.com>

* fix(webdriverio): properly switch context using switchToParentFrame()

* pr feedback

---------

Co-authored-by: Swastik Baranwal <swstkbaranwal@gmail.com>
2025-01-17 10:45:03 -08:00
Christian Bromann
fa496fa971
fix(webdriverio): don't initialize session manager for stub (#14085)
* fix(webdriverio): don't initialize session manager for stub

* fix unit test

* migrate to https

* re-enable all tests
2025-01-17 10:44:47 -08:00
Christian Bromann
be1e1790a1
fix(webdriverio): allow it to visit chrome pages (#14079) 2025-01-17 09:46:12 -08:00
Christian Bromann
02c81f36ca
fix(ci): fix cloud test 2025-01-10 10:57:58 -08:00
Christian Bromann
afbd3f953e
fix(ci): skip running component tests in ubuntu due to unknown Chrome issue 2025-01-10 10:34:26 -08:00
Christian Bromann
b349378d74
fix(ci): run browser tests headlessly in CI 2025-01-10 10:15:56 -08:00
Christian Bromann
b2d2147389
fix(webdriverio): consolidate session manager (#13906)
* fix(webdriverio): consolidate session manager

* remove log

* clean up event listener

* only remove listeners from given context manager

* fix context manager

* fix

* fix(webdriverio): fix link in error message - refs #14043
2025-01-09 11:41:35 -08:00
Navin Chandra
409bfcec49
fix(webdriverio): better handle window switching in webdriver classic (#14025)
* better window switching for wdio classic

* add classic e2e test

* resolve `closeWindow` for both BiDi and classic
2025-01-08 11:21:48 -08:00
Christian Bromann
1d12cfb112
fix(ci): skip mock tests due to changes in Chrome 2024-12-23 11:15:01 -08:00
Christian Bromann
05e280ba48
fix(webdriverio): support opening file urls (#13960)
* fix(webdriverio): support opening file urls

* fix comment

* fix comment

* fix dirname
2024-12-09 11:46:28 -08:00
Christian Bromann
5ba777079b
fix(webdriverio): reconnect to bidi on reloadSession (#13838)
* fix(webdriverio): reconnect to bidi on reloadSession

* add e2e test for it

* try/catch pid kill

* skip source map test
2024-11-20 10:57:00 -08:00
Christian Bromann
3989a3198f
fix(webdriverio): better handle context when closing windows (#13892)
* fix(webdriverio): better handle context when closing windows

* fix e2e test
2024-11-20 10:56:07 -08:00
Christian Bromann
13e00fc01a
fix(webdriver): make isBidi flag dependent on whether WebdriverIO can connect to the websocket url (#13896)
* fix(webdriver): make isBidi flag dependent on whether WebdriverIO can connect to the websocket url

* fix unit test

* don't use private operator as it fails in the browser

* fix command

* add a comment for clarification [ci skip]
2024-11-20 10:55:50 -08:00
Christian Bromann
86fb00f555
docs(eslint-plugin-wdio): add example to use Eslint v9 (#13866) 2024-11-07 12:17:01 -08:00
Christian Bromann
d2437d48ef
fix(ci): disable Chromium Bidi tests 2024-11-06 09:09:23 -08:00
Christian Bromann
ffba24e832
fix(webdriverio): reset frame context if refresh command is called (#13837)
* fix(webdriverio): reset frame context if refresh command is called

* fix unit tests
2024-10-30 11:04:33 -07:00
Christian Bromann
943a698a5a
fix(webdriverio): improve switchFrame behavior (#13781)
* fix(webdriverio): improve switchFrame behavior

* progress

* fix tests

* resolve race conditions

* fix unit test

* minor tweak

* minor tweaks to test
2024-10-26 19:25:23 -07:00
Christian Bromann
86d35167d8
fix(webdriver): allow WebdriverIO to handle alerts (#13805)
* fix(webdriver): allow WebdriverIO to handle alerts

* fix unit test
2024-10-26 18:07:17 -07:00
Christian Bromann
7d07432151
fix(ci): do skipping differently 2024-10-26 13:18:27 -07:00
Christian Bromann
fb0346ed2a
fix(ci): skip vue component tests due to bidi error 2024-10-26 13:16:30 -07:00
Christian Bromann
f30ded1caf
fix(webdriverio): wait for request information to come in (#13777)
* fix(webdriverio): wait for request information to come in

* make it work
2024-10-18 16:28:12 -07:00
Sri Harsha
fb6d2cc585
fix(webdriverio): ensure BiDi browsingContext is updated after switchToWindow (#13772)
* fix(webdriverio): ensure BiDi browsingContext is updated after switchToWindow

* add test to check bidi browsingcontext update on switchToWindow

* remove console.log

* refactor: shorten 'switchToWindow' context update logic
2024-10-18 08:29:47 -07:00
Kirill Gavrilov
6ca4915109
Prevent switchWindow from switching on invalid window requested (#13760) 2024-10-14 08:25:50 -07:00
Christian Bromann
c90557583f
fix(webdriverio): implement switchFrame for Bidi (#13728)
* fix(webdriverio): implement switchToFrame for Bidi

* add test and deprecation notice

* fix import

* Update packages/webdriverio/src/commands/browser/switchFrame.ts

Co-authored-by: Erwin Heitzman <15839059+erwinheitzman@users.noreply.github.com>

* optimize code

* fix unit test

* type fix

* update e2e test

---------

Co-authored-by: Erwin Heitzman <15839059+erwinheitzman@users.noreply.github.com>
2024-10-11 15:48:59 -07:00