Installing Testing Library
Introduction
Testing-library is a collection of tools for testing web application user interfaces, focused on creating reliable and maintainable tests by emphasizing user behavior. The main advantage of testing-library is its focus on interaction with interface elements. And in testplane, you can use the element search methods provided by the testing-library itself.
Installation
To be able to use queries from testing-library in Testplane tests, you only need to follow a few steps.
- Install the npm package
@testplane/testing-library(our adapter package for the original testing-library)
npm i -D @testplane/testing-library
- Include it in the Testplane config in the
prepareBrowsersection:
// testplane.config.ts
import { setupBrowser } from "@testplane/testing-library";
export default {
prepareBrowser(browser) {
setupBrowser(browser);
},
// other settings for testplane...
};
If you have problems with types, add types explicitly to tsconfig.json
{
"compilerOptions": {
"types": ["testplane", "@testplane/testing-library"]
}
}
Usage
You can search by selectors from testing-library as described in the official docs. For example, here's how to search for an element by its text:
it("example", async ({ browser }) => {
await browser.url("https://github.com/");
const newRepoButton = await browser.getByText("New");
await newRepoButton.click();
});
You can also use testing-library queries on elements:
it("example", async ({ browser }) => {
await browser.url("https://github.com/");
const sidebar = await browser.$(".dashboard-sidebar");
const newRepoButton = await sidebar.getByText("New");
await newRepoButton.click();
});
For a complete usage example, visit this link.