POC: Support multi-remote take 2 - #2172
Draft
dprevost-LMI wants to merge 55 commits into
Draft
Conversation
dprevost-LMI
marked this pull request as ready for review
August 4, 2026 10:23
dprevost-LMI
marked this pull request as draft
August 4, 2026 10:23
dprevost-LMI
force-pushed
the
support-multiremote-take-2
branch
from
August 6, 2026 00:59
cecd879 to
7ec8819
Compare
dprevost-LMI
force-pushed
the
support-multiremote-take-2
branch
from
August 18, 2026 19:23
7ec8819 to
b48142d
Compare
dprevost-LMI
marked this pull request as ready for review
August 21, 2026 02:41
dprevost-LMI
marked this pull request as draft
August 21, 2026 02:41
dprevost-LMI
commented
Aug 21, 2026
dprevost-LMI
force-pushed
the
support-multiremote-take-2
branch
from
August 25, 2026 11:37
f6c73cd to
91b3356
Compare
dprevost-LMI
force-pushed
the
support-multiremote-take-2
branch
from
August 27, 2026 17:17
978dd57 to
3c3cb10
Compare
dprevost-LMI
force-pushed
the
support-multiremote-take-2
branch
from
August 29, 2026 23:52
aee7746 to
2455c57
Compare
dprevost-LMI
commented
Aug 30, 2026
dprevost-LMI
force-pushed
the
support-multiremote-take-2
branch
from
August 30, 2026 01:21
808d8ab to
4fa1b72
Compare
dprevost-LMI
marked this pull request as ready for review
August 31, 2026 14:17
dprevost-LMI
marked this pull request as draft
August 31, 2026 14:17
Contributor
Author
|
@greptileai, analyze this PR, all the files and the changes, in depth and report any inconsistencies, bugs, or leftover TODOs and incomplete tasks. Ensure you communicate your findings! |
Contributor
Greptile SummaryThe PR adds multiremote support across browser and element matchers while preserving per-instance comparison and diagnostics.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains; the previously reported title-value handling, excess-expectation validation, clean-install dependencies, exclusive test, and lint-pipeline issues are fixed in the current code.
|
| Filename | Overview |
|---|---|
| src/util/executeBrowserCommand.ts | Centralizes single-browser and multiremote command execution, expected-value mapping, instance validation, and result aggregation. |
| src/matchers/browser/toHaveTitle.ts | Delegates title checks through the shared browser-command path while retaining regular-expression and asymmetric matcher support. |
| src/util/executeCommand.ts | Extends command comparison and aggregation to multiremote element shapes and per-instance results. |
| src/util/elementsUtil.ts | Adds recognition and normalization of multiremote single-element and collection values. |
| types/expect-webdriverio.d.ts | Expands the public matcher declarations for multiremote browser and element targets. |
| package.json | Restores lint validation, uses registry dependencies, and raises WebdriverIO peer requirements for the required multiremote APIs. |
| playgrounds/multi-remote-mocha/test/specs/wdio-matchers.test.ts | Adds end-to-end multiremote browser and element matcher scenarios without leaving an exclusive test enabled. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart LR
Test[Test assertion] --> Target{Received target}
Target -->|Browser| BrowserCommand[Execute browser command]
Target -->|Element or collection| ElementCommand[Resolve and execute element command]
BrowserCommand --> Multi{Multiremote?}
Multi -->|No| Single[Compare one browser value]
Multi -->|Yes| Instances[Read and compare each selected instance]
ElementCommand --> Resolve[Resolve single or multiremote elements]
Resolve --> Compare[Compare element results]
Single --> Result[Assertion result]
Instances --> Result
Compare --> Result
Result --> Diagnostic[Target-aware failure diagnostic]
Reviews (6): Last reviewed commit: "Fix instabilities" | Re-trigger Greptile
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Multi-Remote Support
Support multi-remote for Browser and element matchers.
Fixes #106
Browser Matchers
Element(s) Matchers
toBeMatcherstoHaveMatchersError messages
toBemulti-remote single elementtoHavemulti-remote single elementstoHavemulti-remote multiple elements