# FirefoxHarnessConfig

[**@openpolyfill/firefox-addon-playwright-harness**](/docs/api/reference)

***

[@openpolyfill/firefox-addon-playwright-harness](/docs/api/reference/globals) / FirefoxHarnessConfig

# Interface: FirefoxHarnessConfig

Defined in: [src/types.ts:24](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L24)

## Properties

### args?

> `optional` **args?**: `string`[]

Defined in: [src/types.ts:29](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L29)

***

### contextScope?

> `optional` **contextScope?**: `"worker"` \| `"test"`

Defined in: [src/types.ts:40](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L40)

Context lifetime. The default is one Firefox context per test.

***

### extensionPaths

> **extensionPaths**: `string`[]

Defined in: [src/types.ts:26](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L26)

Initial extension directories or XPIs; use an empty array for runtime-only installs.

***

### firefoxUserPrefs?

> `optional` **firefoxUserPrefs?**: `Record`\<`string`, `string` \| `number` \| `boolean`\>

Defined in: [src/types.ts:28](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L28)

***

### headless?

> `optional` **headless?**: `boolean`

Defined in: [src/types.ts:27](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L27)

***

### launchOptions?

> `optional` **launchOptions?**: `Record`\<`string`, `unknown`\>

Defined in: [src/types.ts:30](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L30)

***

### localMappings?

> `optional` **localMappings?**: `Record`\<`string`, `string`\>

Defined in: [src/types.ts:37](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L37)

Hostname-to-directory mappings served by Firefox 153+ DevTools Local Mode.

***

### nativeMessagingHosts?

> `optional` **nativeMessagingHosts?**: `Record`\<`string`, [`NativeMessagingHostConfig`](/docs/api/reference/interfaces/NativeMessagingHostConfig)\>

Defined in: [src/types.ts:33](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L33)

Native messaging hosts isolated to this Firefox instance on Linux/macOS.

***

### nativeMessagingObservers?

> `optional` **nativeMessagingObservers?**: `Record`\<`string`, [`NativeMessagingObserverConfig`](/docs/api/reference/interfaces/NativeMessagingObserverConfig)\>

Defined in: [src/types.ts:35](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L35)

Per-host opt-in for observing and optionally blocking/mutating native stdio.

***

### patchFirefox?

> `optional` **patchFirefox?**: `boolean`

Defined in: [src/types.ts:38](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L38)

***

### postInstallPages?

> `optional` **postInstallPages?**: [`UrlMatcher`](/docs/api/reference/type-aliases/UrlMatcher)[]

Defined in: [src/types.ts:31](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L31)

***

### resolveProjectOptions?

> `optional` **resolveProjectOptions?**: (`projectUse`) => [`FirefoxHarnessProjectOptions`](/docs/api/reference/interfaces/FirefoxHarnessProjectOptions)

Defined in: [src/types.ts:45](https://github.com/OpenPolyfill/FirefoxAddonPlaywrightHarness/blob/9532a852e3623332cfb2eacd964ebdb4045220e5/src/types.ts#L45)

Maps Playwright project settings to Firefox launch options.
Called once per context, within the selected fixture scope.

#### Parameters

##### projectUse

`Record`\<`string`, `unknown`\>

#### Returns

[`FirefoxHarnessProjectOptions`](/docs/api/reference/interfaces/FirefoxHarnessProjectOptions)
