To set up a web server before running your tests with nx, use the webServer
property in your Playwright config file. This allows you to launch a local dev server, ideal for testing during development without a staging or production URL.
Here's how to configure a web server:
Define the shell command: Use the command
property to specify the shell command that starts your app's local dev server.
command: "npm run start"
Set the URL: Use the url
property to set the expected HTTP server URL. The server should return a 2xx, 3xx, 400, 401, 402, or 403 status code when ready for connections.
url: "https://ray.run"
Reuse an existing server: Set reuseExistingServer
to true
if you want to reuse an existing server on the URL instead of starting a new one every time tests are run.
reuseExistingServer: true
Add a timeout: If your web server takes longer than usual to boot up, set a timeout (in milliseconds).
timeout: 120 * 1000
Specify the baseURL: In the use
section of your config, specify the baseURL
so that tests can use relative URLs without repeating full URLs.
use: {
baseURL: "https://ray.run"
}
Launch multiple servers: If you need to launch multiple web servers or background processes, define them within an array under the webServer
object with their respective properties.
In summary, use the webServer
property in your Playwright config file to configure a web server for your tests. Define the shell command, set the URL, reuse an existing server if needed, add a timeout, specify the baseURL, and launch multiple servers if required.
If you still have questions, please ask a question and I will try to answer it.
Rayrun is a community for QA engineers. I am constantly looking for new ways to add value to people learning Playwright and other browser automation frameworks. If you have feedback, email [email protected].