Open
Description
If I create a new wdio (currently version 8.27) project with TypeScript and Testing Library, when I used setupBrowser
I get a compilation error. However, the test can be executed normally so this is not a valid type error.
Example
import { expect, browser, $ } from "@wdio/globals";
import { setupBrowser } from "@testing-library/webdriverio";
describe("My Login application", () => {
it("should login with valid credentials", async () => {
const { getByRole } = setupBrowser(browser);
// ...
});
});
Compilation error:
Argument of type 'Browser' is not assignable to parameter of type 'BrowserBase'.
Type 'Browser' is not assignable to type 'SelectorsBase'.
The types returned by '$$(...)' are incompatible between these types.
Type 'ChainablePromiseArray<ElementArray>' is not assignable to type 'Element[] | ChainablePromiseArrayBase<Promise<Element>> | Promise<Element[]>'.
Type 'ChainablePromiseArray<ElementArray>' is missing the following properties from type 'Element[]': pop, push, concat, join, and 20 more.ts(2345)
Workaround
The workaround I found is to convince TypeScript that everything is okay by forcing a type cast: setupBrowser(browser as unknown as BrowserBase)
Metadata
Metadata
Assignees
Labels
No labels