Advanced Playwright E2E Framework
Provides an enterprise-grade Playwright test automation framework with an 8-layer architecture for scalable and maintainable testing.
Install this skill
Security score
The Advanced Playwright E2E Framework skill was audited on Feb 27, 2026 and we found 43 security issues across 3 threat categories. Review the findings below before installing.
Categories Tested
Security Issues
Template literal with variable interpolation in command context
| 213 | return this.page.screenshot({ fullPage: true, path: `test-results/${name}.png` }); |
Template literal with variable interpolation in command context
| 338 | this.logger.info(`Logging in as: ${username}`); |
Template literal with variable interpolation in command context
| 348 | this.logger.info(`Logging in with Remember Me as: ${username}`); |
Template literal with variable interpolation in command context
| 366 | this.logger.warn(`Login failed as expected: ${expectedError}`); |
Template literal with variable interpolation in command context
| 390 | this.logger.info(`Adding ${quantity}x "${productName}" to cart`); |
Template literal with variable interpolation in command context
| 401 | this.logger.info(`Cart count verified: ${expected}`); |
Template literal with variable interpolation in command context
| 405 | this.logger.info(`Searching for: "${query}"`); |
Template literal with variable interpolation in command context
| 409 | this.logger.info(`Found ${count} results for "${query}"`); |
Template literal with variable interpolation in command context
| 441 | this.logger.info(`Checkout complete. Order ID: ${orderId}`); |
Template literal with variable interpolation in command context
| 493 | const entry = `[${timestamp}] [${level}] [${this.context}] ${message}`; |
Template literal with variable interpolation in command context
| 527 | throw new Error(`Condition not met within ${timeout}ms`); |
Template literal with variable interpolation in command context
| 556 | return `user_${id}@test.com`; |
Template literal with variable interpolation in command context
| 561 | return `(555) ${String(num).slice(0, 3)}-${String(num).slice(3, 7)}`; |
Template literal with variable interpolation in command context
| 606 | this.logger.info(`GET ${endpoint}`); |
Template literal with variable interpolation in command context
| 607 | const response = await this.request.get(`${this.baseURL}${endpoint}`, { headers }); |
Template literal with variable interpolation in command context
| 609 | this.logger.debug(`Response ${response.status()}`, body); |
Template literal with variable interpolation in command context
| 614 | this.logger.info(`POST ${endpoint}`); |
Template literal with variable interpolation in command context
| 615 | const response = await this.request.post(`${this.baseURL}${endpoint}`, { |
Template literal with variable interpolation in command context
| 620 | this.logger.debug(`Response ${response.status()}`, body); |
Template literal with variable interpolation in command context
| 625 | this.logger.info(`PUT ${endpoint}`); |
Template literal with variable interpolation in command context
| 626 | const response = await this.request.put(`${this.baseURL}${endpoint}`, { |
Template literal with variable interpolation in command context
| 634 | this.logger.info(`DELETE ${endpoint}`); |
Template literal with variable interpolation in command context
| 635 | const response = await this.request.delete(`${this.baseURL}${endpoint}`, { headers }); |
Template literal with variable interpolation in command context
| 665 | return this.api.post('/api/auth/refresh', {}, { Authorization: `Bearer ${token}` }); |
Template literal with variable interpolation in command context
| 684 | return this.api.get('/api/products', { Authorization: `Bearer ${token}` }); |
Template literal with variable interpolation in command context
| 688 | return this.api.get(`/api/products/${id}`, { Authorization: `Bearer ${token}` }); |
Template literal with variable interpolation in command context
| 692 | return this.api.get(`/api/products?q=${encodeURIComponent(query)}`, { |
Template literal with variable interpolation in command context
| 693 | Authorization: `Bearer ${token}`, |
Template literal with variable interpolation in command context
| 807 | console.log(`Page title: ${title}`); |
Template literal with variable interpolation in command context
| 891 | console.log(`Order placed: ${orderId}`); |
Template literal with variable interpolation in command context
| 902 | ```yaml |
Access to .env file
| 41 | ├── .env # Environment variables |
Access to .env file
| 42 | ├── .env.example # Environment template |
Access to .env file
| 116 | forbidOnly: !!process.env.CI, |
Access to .env file
| 117 | retries: process.env.CI ? 2 : 0, |
Access to .env file
| 118 | workers: process.env.CI ? 4 : undefined, |
Access to .env file
| 126 | baseURL: process.env.BASE_URL, |
Access to .env file
| 173 | baseUrl: process.env.BASE_URL || 'http://localhost:3000', |
Access to .env file
| 175 | username: process.env.TEST_USERNAME || 'testuser', |
Access to .env file
| 176 | password: process.env.TEST_PASSWORD || 'testpass123', |
Access to .env file
| 179 | timeout: Number(process.env.API_TIMEOUT) || 30_000, |
Access to .env file
| 182 | level: process.env.LOG_LEVEL || 'INFO', |
External URL reference
| 173 | baseUrl: process.env.BASE_URL || 'http://localhost:3000', |