Database Test
Query and validate database stateEdit
Run SQL queries and validate database state directly. Database tests connect to your databases securely and execute queries with result validation.
Create Test
Go to Create → Database Test
Write SQL query
Add assertions
Run and save
Database connections are defined inline in your script. Use getVariable() for connection details such as host, port, database, and user, and getSecret() for the password (see the example below). There is no separate connection picker in the UI.
Example
import { expect, test } from '@playwright/test';
import { Pool } from 'pg';
const pool = new Pool({
host: getVariable('DB_HOST'),
port: parseInt(getVariable('DB_PORT') || '5432'),
database: getVariable('DB_NAME'),
user: getVariable('DB_USER'),
password: getSecret('DB_PASSWORD'),
ssl: true, // verify the server certificate
});
test.afterAll(async () => {
await pool.end();
});
test.describe('database read health check', () => {
test('users table returns expected columns', async () => {
// Execute a simple SELECT query
const result = await pool.query('SELECT id, email FROM users LIMIT 1');
// Verify we got results and the schema matches expectations
expect(result.rowCount).toBeGreaterThan(0);
expect(result.rows[0]).toHaveProperty('email');
});
});For databases reachable over a public network, keep ssl: true so the connection is encrypted and the certificate is verified. For a private CA use ssl: { ca: getSecret('DB_CA_CERT') }. Never set rejectUnauthorized: false.