Issue 1:
Sorry if it's duplicate, but i wasn't able to find similar question, but: how to disable 'Save Password' popup which appear then you enter some creds on launching persistent context?

If I remember it's 'credentials_enable_service' and 'profile.password_manager_enabled' pref settings. but wasn't able to pass it to playwright.

Issue 2:
System info

Playwright Version: 1.36.1

Operating System: macOS 13.4.1 (22F82)

Browser: All

Other info: Mac is an M1 Max Mac Studio, in case the architecture is relevant.

I installed the browsers when I installed Playwright a couple of minutes before running npx playwright test --ui, so I'm not sure how it's managed to lose Chromium already 😁

Running npx playwright install manually did install them, and UI mode then worked as expected, so it seems to be an issue with npx init.

Source code

I provided exact source code that allows reproducing the issue locally.

Config file

These are the standard config files installed by npm init playwright@latest — so I'm fairly sure it's not something I've done…

import { defineConfig, devices } from '@playwright/test';

/**
* Read environment variables from file.
* https://github.com/motdotla/dotenv
*/
// require('dotenv').config();

/**
* See https://playwright.dev/docs/test-configuration.
*/
export default defineConfig({
testDir: './tests/e2e',
/* Run tests in files in parallel */
fullyParallel: true,
/* Fail the build on CI if you accidentally left test.only in the source code. */
forbidOnly: !!process.env.CI,
/* Retry on CI only */
retries: process.env.CI ? 2 : 0,
/* Opt out of parallel tests on CI. */
workers: process.env.CI ? 1 : undefined,
/* Reporter to use. See https://playwright.dev/docs/test-reporters */
reporter: 'html',
/* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
use: {
/* Base URL to use in actions like `await page.goto('/')`. */
// baseURL: 'http://127.0.0.1:3000',

/* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
trace: 'on-first-retry',
},

/* Configure projects for major browsers */
projects: [
{
name: 'chromium',
use: { ...devices['Desktop Chrome'] },
},

{
name: 'firefox',
use: { ...devices['Desktop Firefox'] },
},

{
name: 'webkit',
use: { ...devices['Desktop Safari'] },
},

/* Test against mobile viewports. */
// {
// name: 'Mobile Chrome',
// use: { ...devices['Pixel 5'] },
// },
// {
// name: 'Mobile Safari',
// use: { ...devices['iPhone 12'] },
// },

/* Test against branded browsers. */
// {
// name: 'Microsoft Edge',
// use: { ...devices['Desktop Edge'], channel: 'msedge' },
// },
// {
// name: 'Google Chrome',
// use: { ...devices['Desktop Chrome'], channel: 'chrome' },
// },
],

/* Run your local dev server before starting the tests */
// webServer: {
// command: 'npm run start',
// url: 'http://127.0.0.1:3000',
// reuseExistingServer: !process.env.CI,
// },
});

Test file (self-contained)

import { test, expect } from '@playwright/test'

test('has title', async ({ page }) => {
await page.goto('https://playwright.dev/')

// Expect a title "to contain" a substring.
await expect(page).toHaveTitle(/Playwright/)
})

test('get started link', async ({ page }) => {
await page.goto('https://playwright.dev/')

// Click the get started link.
await page.getByRole('link', { name: 'Get started' }).click()

// Expects the URL to contain intro.
await expect(page).toHaveURL(/.*intro/)
})

Steps

Install Homebrew (https://brew.sh)

Install Chromium (brew install chromium)

Open Chromium (open /Applications/Chromium.app)

Run tests (npx playwright test --ui)

Expected

The installer actually installs the browsers when the user answers "yes" to the "install browsers" question.

Actual

Error:
╔═══════════════════════════════════════════════════╗
║ No chromium-based browser found on the system. ║
║ Please run the following command to download one: ║
║ ║
║ npx playwright install chromium ║
║ ║
║ <3 Playwright Team ║
╚═══════════════════════════════════════════════════╝