Playwright vs Selenium: which is better depends entirely on your project’s specific requirements, team expertise, and infrastructure constraints. Playwright excels in modern web testing with superior speed, multi-browser native support, and built-in debugging tools, while Selenium remains the industry standard for legacy systems and organizations with established automation investments. This guide breaks down both frameworks across real-world criteria to help you make the right choice for your testing architecture.
Playwright vs Selenium: Direct Comparison of Core Capabilities
When evaluating Playwright versus Selenium, you’re comparing two fundamentally different architectural approaches to browser automation. Playwright was built from the ground up for modern testing needs, while Selenium evolved over nearly two decades to support multiple languages and browser engines. Understanding these core differences determines whether each framework fits your project.
Architecture and browser support differences
Selenium uses the WebDriver protocol, which communicates with browsers through standardized endpoints. This approach provides broad compatibility but introduces an abstraction layer between your tests and the browser, creating potential latency and reliability issues. Playwright operates through direct protocol communication with Chromium, Firefox, and WebKit, eliminating the intermediary layer and enabling tighter control over browser behavior. Browser Automation With Playwright Python
The architectural difference has practical implications. Selenium requires the WebDriver binary to be running separately, which adds deployment complexity. Playwright bundles browser binaries and manages them directly, simplifying setup and reducing configuration errors in CI/CD environments. For organizations running large test suites, this difference compounds across hundreds or thousands of test executions. Python Playwright Login Automation Tutorial
Browser support varies significantly. Selenium supports Chrome, Firefox, Safari, and Edge through separate driver implementations. Playwright supports Chromium, Firefox, and WebKit—covering all major rendering engines while maintaining a unified API. This means writing tests once in Playwright and running them identically across all browsers without driver-specific code.
Speed and performance metrics
Playwright consistently executes tests faster than Selenium because it bypasses WebDriver protocol overhead. In practice, Playwright tests typically run 20-40% faster for identical test scenarios, though the exact improvement depends on your specific test patterns and network conditions. This speed advantage multiplies when running hundreds of tests in parallel.
The performance difference becomes critical in continuous integration environments where test execution time directly impacts deployment velocity. A test suite that takes 45 minutes in Selenium might complete in 30 minutes with Playwright—a meaningful difference when running multiple times per day across different branches and pull requests.
Memory consumption differs as well. Playwright’s streamlined architecture uses less RAM per browser instance, making it practical to run more parallel tests on the same hardware. Selenium’s WebDriver bridge adds overhead that becomes noticeable at scale, particularly in containerized environments where resource constraints are tight.
Comparison table: Feature parity across frameworks
| Feature | Playwright | Selenium |
|---|---|---|
| Native Multi-Browser Support | Chromium, Firefox, WebKit unified API | Chrome, Firefox, Safari, Edge (separate drivers) |
| Auto-Waiting Mechanism | Built-in, reduces flaky tests | Manual waits required (explicit/implicit) |
| Execution Speed | Direct protocol, 20-40% faster | WebDriver protocol, baseline comparison |
| Debugging Tools | Inspector, trace viewer, video recording | Screenshots, logs (third-party tools needed) |
| Language Support | JavaScript, Python, Java, C# | Java, Python, C#, Ruby, JavaScript, Go, Kotlin |
| Mobile Device Testing | Native device emulation | Requires Appium integration |
| Setup Complexity | Simple, bundled binaries | Moderate, external driver management |
| Community Size | Growing rapidly (released 2020) | Established, extensive ecosystem |
| Legacy System Support | Modern browsers only | IE support (older versions) |
This comparison reveals that neither framework is universally superior—each excels in different contexts. Playwright dominates speed and debugging experience for modern applications, while Selenium’s breadth of language bindings and established ecosystem serve organizations with legacy infrastructure or multi-language testing strategies.
Why Choose Playwright for Modern Web Testing?
Playwright represents the next generation of browser automation, designed for the reality of modern web development. If your application targets current browsers and you want minimal test maintenance, Playwright delivers tangible advantages that compound over time. The framework makes reliable, maintainable test automation achievable without extensive engineering effort.
Native support for multiple browsers and devices
Writing cross-browser tests with Playwright requires no driver installation or separate browser binaries. One code path runs identically on Chromium, Firefox, and WebKit, eliminating driver-specific workarounds and conditional logic. This unified approach ensures consistent behavior across browsers and prevents subtle bugs where tests pass in Chrome but fail in Firefox.
Device emulation is built in, allowing you to test on iPhone, Android, and tablet viewports without separate infrastructure or Appium integration. Playwright emulates real device capabilities including screen dimensions, user agent strings, and touch events, making mobile testing accessible to teams without dedicated device labs.
The browser-agnostic testing approach scales. Adding Firefox or WebKit tests to an existing suite is trivial—no new configuration, no additional tools, no platform-specific setup. Your CI/CD pipeline runs the same test code across all browsers, reducing maintenance overhead and catching cross-browser issues early.
Built-in debugging and inspector tools
Playwright Inspector lets you step through test execution interactively, inspecting DOM elements and test state without adding debug output to your code. The inspector pauses execution, displays the current page state, and shows which selectors matched—critical information when tests fail unexpectedly. This beats Selenium’s approach of adding screenshots and logs, then reviewing them after the fact.
Trace viewer recordings capture a complete timeline of test execution including network requests, console messages, and DOM snapshots at each step. Reviewing a trace reveals exactly what happened during a failing test run without re-executing it, saving time on complex test debugging. This feature has no direct equivalent in Selenium without third-party tools and custom instrumentation.
Video recording is native in Playwright, capturing the actual browser view during test execution. Combined with trace viewing, video provides context that screenshots alone cannot—you see scroll behavior, animation timing, and dynamic content loading. Debugging becomes systematic rather than exploratory.
Superior reliability with auto-waiting mechanisms
Playwright’s auto-waiting eliminates a major source of test flakiness. When you interact with an element, Playwright automatically waits for it to be visible, enabled, and stable before acting. No more `sleep()` calls or manual `WebDriverWait` configurations—the framework handles timing intelligently based on actual element state.
This reliability gain is substantial in practice. Teams report 30-50% fewer flaky test failures after migrating from Selenium to Playwright, primarily because they no longer need hand-tuned wait times that break when page performance changes. Auto-waiting adapts to network latency and rendering delays automatically.
Navigation waits work similarly. Playwright waits for pages to reach a stable state—network idle or load complete—before continuing. Selenium requires explicit wait conditions for most navigation scenarios, leading to tests that pass on fast machines but fail under network latency. Playwright’s approach is more forgiving and maintainable.
When Should You Stick With Selenium?
Selenium remains the right choice for specific situations despite Playwright’s modern advantages. Organizations with significant existing Selenium investments, teams with deep WebDriver expertise, or projects with unusual constraints often benefit from staying with Selenium rather than migrating. Understanding when Selenium is the pragmatic choice prevents unnecessary rewrites.
Legacy system compatibility requirements
If your application must support older browsers—particularly Internet Explorer or legacy versions of Safari—Selenium is your only practical option. Playwright supports only modern browser engines and will not execute tests against legacy browsers. For organizations maintaining compatibility with IE11 or older iOS versions, Selenium’s broader browser support is non-negotiable.
Legacy web applications often have outdated DOM structures, deprecated JavaScript APIs, and timing behaviors that Playwright’s modern assumptions don’t accommodate. Selenium’s flexibility in handling these edge cases makes it more forgiving for older codebases. Attempting to force Playwright onto legacy applications wastes time debugging incompatibilities.
The regulatory environment sometimes constrains browser choice. Certain industries require testing on specific browser versions for compliance validation. If your organization has such requirements, Selenium’s established support for unusual browser configurations provides the flexibility legacy applications demand.
Established team expertise and organizational knowledge
Teams with years of Selenium experience have significant organizational knowledge—test patterns, debugging approaches, common gotchas, and performance optimization techniques. Switching frameworks means abandoning that expertise and climbing a new learning curve. For stable teams with stable products, continuing with Selenium often makes more business sense than migration.
Organizational knowledge includes infrastructure investment. If your CI/CD pipelines, reporting systems, and test management tools are built around Selenium, migration costs extend beyond learning a new API. You need new tooling, new infrastructure code, and new operational procedures. For many organizations, the switching cost outweighs Playwright’s benefits.
Documentation and troubleshooting resources for Selenium are vastly more abundant. Developers encountering problems can find solutions quickly through Stack Overflow, documentation, and community forums. Playwright’s community is growing but still smaller for edge cases and unusual scenarios.
Specific language binding and ecosystem constraints
Selenium offers bindings for more programming languages than Playwright. If your organization uses Ruby, Go, or Kotlin alongside other languages, Selenium provides a unified testing framework across all of them. Playwright’s language support is expanding but currently covers only JavaScript, Python, Java, and C#.
The Selenium ecosystem is mature across all major languages. Third-party tools for reporting, test management, and integration with development platforms have years of maturity. Playwright’s ecosystem is still developing, meaning some specialized integrations may not exist yet.
If your testing strategy requires specific tools—particular CI/CD integrations, reporting systems, or test management platforms—check whether those tools support Playwright. Legacy testing infrastructure built for Selenium may not have Playwright support, requiring custom integration work or staying with Selenium.
How Do Setup and Installation Differ Between Frameworks?
Getting a testing framework operational quickly matters. Complex setup delays your team’s productivity and increases initial project friction. Playwright and Selenium take fundamentally different approaches to installation and configuration, with implications for both initial setup and ongoing maintenance.
Playwright installation and initial configuration
Installing Playwright is straightforward—one package manager command and Playwright handles the rest automatically. In Python: `pip install playwright && playwright install`. In JavaScript: `npm install playwright && npx playwright install`. The framework downloads required browser binaries (Chromium, Firefox, WebKit) and configures them automatically.
Initial configuration is minimal. Playwright’s defaults work well for most projects out of the box. You write tests against the Playwright API, specify which browsers to test against, and the framework handles everything else. No separate driver configuration, no environment variables for driver paths, no compatibility checking.
A basic Playwright test looks like this:
- Import Playwright library
- Create a browser instance
- Open a page
- Interact with elements using high-level methods
- Make assertions
- Close resources
This simplicity means developers are productive within hours, not days. New team members can write functioning tests quickly with minimal setup friction.
Selenium WebDriver setup complexity
Selenium requires more configuration. You need to install the Selenium library, then separately manage WebDriver binaries for each browser you want to test. WebDriver management means either manually downloading drivers, configuring driver paths in your environment, or using a tool like WebDriver Manager to automate this.
Driver path configuration is a common source of initial friction. Developers on Windows, macOS, and Linux need platform-specific driver paths. CI/CD environments need separate configuration from local development. This setup overhead seems minor until new developers spend time debugging driver-not-found errors instead of writing tests.
Browser version compatibility adds another layer. Selenium WebDriver versions must match browser versions—Chrome 110 requires the corresponding ChromeDriver 110. Mismatches cause cryptic errors. Managing this across development, CI, and deployment environments requires explicit version management strategies.
A basic Selenium test requires more boilerplate:
- Import Selenium and WebDriver libraries
- Specify driver path and capabilities
- Initialize WebDriver with driver configuration
- Interact with elements using lower-level WebDriver methods
- Add explicit waits for most interactions
- Add error handling for driver lifecycle
- Tear down driver connections
This additional complexity isn’t insurmountable, but it delays developer productivity and increases setup errors, particularly for junior developers or teams new to test automation.
Time investment for getting productive teams started
A developer can write their first passing Playwright test in under an hour from zero installation to working test. The setup is fast, the API is intuitive, and modern debugging tools help troubleshoot issues quickly. Teams report being productive within their first day with Playwright.
Selenium productivity ramps more gradually. Setup takes longer, driver debugging requires more troubleshooting, and writing reliable tests demands understanding WebDriver timing patterns and explicit wait strategies. Expect new developers to reach productivity within a few days, not hours. For large teams, this compounds into significant time investment.
This difference favors Playwright for organizations scaling automation quickly or rotating team members. The faster onboarding reduces training burden and accelerates project delivery.
What Are the Real Cost Implications of Each Framework?
Cost comparison goes beyond licensing. Consider development time, maintenance overhead, and infrastructure expenses when evaluating Playwright against Selenium. Both are free, but the total cost of ownership varies significantly based on how each framework impacts your team’s productivity and infrastructure requirements.
Licensing and open-source considerations
Both Playwright and Selenium are completely open-source and free to use. No licensing fees, no commercial restrictions, no vendor lock-in. This eliminates a major cost category for commercial testing frameworks, making both accessible to projects of any budget.
Open-source status means you control the framework—no vendor can change pricing, discontinue features, or force upgrades you don’t want. Both frameworks have strong community backing and active development. You can contribute improvements or maintain your own fork if the community direction diverges from your needs.
Support availability differs. Commercial vendors often provide enterprise support for a fee. With open-source frameworks, support comes from community forums, documentation, and paid consulting services. Organizations requiring guaranteed support response times should budget for consulting help, though this applies equally to both frameworks.
Development time and maintenance overhead
Playwright’s built-in features reduce development and maintenance time. Auto-waiting eliminates most wait logic. Native multi-browser support eliminates driver-specific code.
Built-in debugging reduces troubleshooting time. These efficiency gains compound across thousands of test cases and months of maintenance.
Concrete example: A team maintaining 500 Selenium tests spends substantial time fixing tests broken by page timing changes, browser updates, or network latency. Auto-waiting in Playwright eliminates most of these failures automatically. The same 500 tests in Playwright require significantly less maintenance work.
Selenium’s lower-level approach requires more manual handling. Developers write explicit waits, handle timing edge cases, and maintain driver-specific workarounds. This additional code means more tests to maintain, more edge cases to handle, and higher ongoing maintenance cost.
For teams writing 100-200 tests, the maintenance difference is negligible. For teams maintaining thousands of tests, the cumulative time savings from Playwright’s reliability features justify the migration effort and learning curve.
Infrastructure and execution environment expenses
Playwright’s efficiency in test execution reduces hardware requirements. Tests run 20-40% faster, consuming less CPU and memory per execution. For organizations running large test suites in CI/CD environments, this translates to concrete cost reduction in compute infrastructure.
Example calculation: A test suite running 10,000 test cases daily takes 2 hours in Selenium. The same suite takes 75 minutes in Playwright. Over a month, that’s 12.5 hours of saved CPU time per month across all build agents. For cloud-based CI/CD, this reduces compute costs; for on-premises infrastructure, it reduces power consumption and hardware requirements.
Parallel execution efficiency also differs. Playwright’s lower memory footprint allows more parallel browser instances on the same hardware. You can run 20 parallel test processes on infrastructure that handles 15 with Selenium, reducing total execution time without additional compute investment.
Neither framework requires expensive infrastructure investment. Both work on modest hardware—even laptops can run full test suites. The cost difference emerges at scale when running hundreds of tests concurrently in CI/CD environments.
Key Takeaway: Choosing Based on Project Requirements, Not Hype
The decision between Playwright and Selenium should reflect your specific circumstances, not industry trends or framework popularity. Both frameworks solve the automation problem effectively; they emphasize different values and serve different contexts well. A methodical evaluation prevents choosing based on hype and ensures your decision survives the project’s lifespan.
Defining your actual testing needs
Start by identifying the real constraints and requirements driving your choice. List the specific browsers you must test against. If the list includes only modern versions of Chrome, Firefox, and Safari, Playwright works well. If it includes IE or older legacy browsers, Selenium is necessary.
Document which devices must be tested. Playwright handles mobile emulation natively; Selenium requires Appium integration. If you need actual device testing beyond emulation, both frameworks require additional infrastructure investment.
Clarify your language requirements. Does your team work exclusively in Python and JavaScript? Playwright covers both completely.
Does your organization use Ruby or Go? Selenium provides broader coverage.
Evaluate your CI/CD infrastructure. Does your existing pipeline have Selenium integration you want to preserve? Are your reporting and test management tools built around Selenium? Migration costs must be weighed against framework benefits.
Evaluating team capability and learning curves
Assess your team’s existing expertise. Teams with deep Selenium knowledge can extract more value from Selenium’s flexibility than teams learning Selenium for the first time. Conversely, teams new to automation benefit from Playwright’s simpler learning curve and built-in reliability features.
Consider team size and tenure. Large, stable teams have invested heavily in Selenium patterns and infrastructure—migration is expensive. Small teams or teams with high turnover benefit from Playwright’s accessibility and faster onboarding.
Evaluate organizational risk tolerance. Switching frameworks requires learning, infrastructure changes, and potential disruption. Risk-averse organizations might prefer the established Selenium ecosystem. Organizations comfortable with modern tooling and fast-moving practices find Playwright’s advantages worthwhile.
The best automation framework is the one your team will use consistently and maintain confidently. Choose based on actual project requirements—not vendor marketing, community enthusiasm, or what competitors use. A framework your team understands and maintains well outperforms a theoretically superior framework your team resists.
Playwright and Selenium Integration Into CI/CD Pipelines
Both frameworks integrate with CI/CD systems, but their integration patterns and operational characteristics differ meaningfully. Understanding how each framework behaves in automated pipeline environments influences the total cost and reliability of your test automation strategy.
Pipeline automation and deployment workflows
Playwright integrates cleanly into CI/CD pipelines because it bundles browser binaries and handles configuration automatically. You specify which browsers to test and the framework handles the rest. No driver path configuration, no browser version management, no platform-specific setup scripts—Playwright works identically across Windows agents, Linux containers, and macOS runners.
Selenium requires more pipeline configuration. You need to specify which WebDriver binaries to download, manage driver versions explicitly, and handle platform-specific paths. Multi-platform CI/CD environments need conditional logic to use the correct driver for each agent type. This adds complexity to your pipeline code and increases maintenance burden.
Playwright’s design for CI/CD environments shows in features like built-in video recording, trace capture, and artifact organization. These features make debugging CI/CD failures simpler—you capture traces automatically and review them without re-running tests.
Parallel execution and scaling capabilities
Both frameworks support parallel test execution, but with different efficiency characteristics. Playwright’s lower overhead allows more concurrent test processes per machine. A CI/CD agent can typically run 15-20 parallel Playwright test processes, while Selenium handles 10-15 before resource contention. This translates to faster test completion with the same infrastructure.
Orchestrating parallel execution looks similar in both frameworks—you split your test suite across workers and aggregate results. Playwright’s better resource efficiency means you need fewer agents to achieve the same parallelism, reducing infrastructure costs.
Network-based parallel execution (multiple machines) works equally well for both frameworks. The efficiency advantage disappears when you’re scaling across machines rather than within a single machine. Both frameworks can distribute tests across hundreds of agents in large-scale CI/CD environments.
Reporting and test failure analysis tools
Playwright provides native reporting and failure analysis through trace viewer and video playback. Failed tests automatically capture traces showing exactly what happened—network requests, console messages, DOM snapshots at each step. Reviewing a trace takes minutes; understanding what went wrong doesn’t require test re-execution.
Selenium relies on screenshots and logs for failure analysis. If a test fails, you’re capturing static snapshots of the moment of failure. Understanding what happened leading up to the failure requires adding debug output or re-running the test locally. This process is slower and less informative.
Third-party reporting tools exist for both frameworks. Commercial platforms integrate with Selenium and Playwright for test result aggregation, trending analysis, and historical reporting. Playwright’s native debugging features reduce your need for complex external tools.
Make the Right Decision: Practical Selection Criteria
Moving from framework comparison to actual selection requires a systematic approach. Apply these practical criteria to your specific project context, and the right choice becomes clear. This assessment framework prevents decision paralysis and ensures your choice reflects genuine project needs.
Assessment framework for your specific context
Answer these questions systematically to guide your decision:
- Browser coverage: Must you test on IE or legacy browsers? If yes, Selenium is required. If no, Playwright is viable.
- Test volume: Are you writing hundreds of tests? Playwright’s maintenance efficiency becomes valuable at scale. For small test suites, efficiency differences matter less.
- Team expertise: Does your team have deep Selenium knowledge? If yes, migration costs are higher. If your team is starting fresh, Playwright’s learning curve is shallower.
- Existing infrastructure: Is your CI/CD, reporting, and test management tied to Selenium? Account for migration costs if these tools require reconfiguration.
- Language requirements: Does your organization need support for languages beyond Python, JavaScript, Java, and C#? Selenium provides broader coverage.
- Maintenance outlook: Will this test suite live for 1 year, 5 years, or longer? Longer lifespan favors Playwright’s lower maintenance burden.
Score each criterion as favoring Playwright, Selenium, or neutral. The framework accumulating more scores matching your situation is the pragmatic choice.
Migration strategies if switching frameworks
If your assessment suggests migrating from Selenium to Playwright, do it incrementally. Don’t rewrite your entire test suite at once. Instead:
- Start new tests in Playwright while maintaining existing Selenium tests
- Migrate test suites in priority order—high-maintenance tests first
- Run both frameworks in parallel during the transition period
- Retire Selenium tests as their Playwright equivalents reach parity
Gradual migration allows your team to learn Playwright incrementally while maintaining test coverage. It reduces risk by keeping existing automation running while building new infrastructure.
Converting existing Selenium tests to Playwright is straightforward for most tests. Both frameworks interact with elements similarly—the main differences are API syntax and wait handling. A developer can typically convert 50-100 Selenium tests to Playwright in a day, including learning time.
Frequently Asked Questions About Playwright and Selenium
Is Playwright faster than Selenium in all scenarios?
Playwright is consistently faster than Selenium for identical test scenarios, typically 20-40% faster. This speed advantage comes from Playwright’s direct protocol communication versus Selenium’s WebDriver bridge overhead. The speed benefit applies universally—every test runs faster, though the absolute time savings depend on how long each test takes.
Network latency influences the advantage. Tests with extensive network calls show smaller percentage improvements because network time dominates. Tests with frequent element interactions and page navigation show larger improvements because Playwright’s efficiency gains compound across many operations.
Can you use Playwright and Selenium together in one test suite?
You can run both frameworks in the same project, but they typically don’t integrate directly within a single test. Some organizations run Selenium tests and Playwright tests in the same CI/CD pipeline, but using separate test suites and invocations. Mixing both frameworks in one test case is impractical because they use different APIs and have different waiting mechanisms.
A practical hybrid approach: migrate new tests to Playwright while maintaining existing Selenium tests. Both run in CI/CD, providing full coverage during the transition period. Once Selenium test coverage reaches acceptable parity in Playwright, retire the Selenium suite.
Which framework requires less maintenance over time?
Playwright requires significantly less maintenance once written. Auto-waiting eliminates timing-related failures that plague Selenium tests. Native multi-browser support removes driver-specific code that needs updating when browsers change.
Built-in debugging reduces investigation time when tests fail. Teams report 30-50% fewer flaky failures in Playwright compared to equivalent Selenium tests.
Selenium requires more active maintenance. Explicit waits need adjustment when page performance changes. Driver version management requires ongoing attention.
Browser compatibility workarounds accumulate as codebases grow. For test suites that live for years, Playwright’s lower maintenance burden compounds into significant time savings.
What’s the learning curve difference for developers new to automation?
Playwright has a noticeably shallower learning curve than Selenium. A developer unfamiliar with test automation can write working Playwright tests within a few hours. The API is intuitive, configuration is minimal, and debugging tools provide immediate feedback. Most developers reach productive capability on day one.
Selenium’s learning curve is steeper. Developers must understand WebDriver protocol concepts, explicit wait strategies, driver lifecycle management, and platform-specific configuration. Reaching productive capability typically takes 2-3 days, and mastery requires weeks of practical experience. This difference matters significantly for teams with high turnover or rapid scaling.
Can legacy Selenium tests run in Playwright without conversion?
No, Selenium tests must be rewritten for Playwright—there’s no direct compatibility or conversion path. The frameworks use different APIs and have fundamentally different waiting approaches. However, converting tests is straightforward for most cases. The test logic remains identical; you’re primarily translating API calls and removing explicit wait code.
Conversion typically takes 5-10 minutes per test for straightforward tests, with more complex tests requiring additional thought. A developer familiar with both frameworks can batch-convert many tests efficiently. Automated conversion tools don’t exist because the logical structure remains identical but the API completely changes.
—
The choice between Playwright vs Selenium which is better ultimately depends on whether your priorities align with Playwright’s modern efficiency and developer experience, or with Selenium’s established ecosystem and broad compatibility. Evaluate your actual requirements—not industry hype—and the decision becomes clear. Both frameworks solve the automation problem; they emphasize different trade-offs that matter differently depending on your context.
For modern web applications targeting current browsers with teams willing to adopt contemporary tooling, Playwright delivers measurable advantages in speed, reliability, and maintainability. For organizations with legacy systems, large existing Selenium investments, or multi-language testing requirements, Selenium remains the pragmatic choice. The best framework is the one that matches your team’s capabilities, project requirements, and infrastructure constraints.
Content management: RankFlow
Automate the SEO side of your projects
If you ship sites and keep having to write content for them, RankFlow handles the keyword research, drafting and rank tracking through an API — so it fits into your existing pipeline instead of adding another dashboard.