You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/known-issues.mdx
+31-9Lines changed: 31 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,20 +4,42 @@ title: Known Issues
4
4
5
5
## Playwright
6
6
7
-
The good news is we haven't encountered any significant issues with Playwright in all of our testing! However, we're aware of the following problems:
7
+
Synpress and Playwright generally work well together. However, there are a couple of known limitations:
8
8
9
-
### Blank MetaMask previews in traces
9
+
### Blank MetaMask Previews in Traces
10
10
11
-
When using Playwright UI mode or the HTML reporter, all previews of the MetaMask tab/popup traces are blank. This is due to MetaMask's LavaMoat security policy, and while we find it extremely annoying, we cannot do anything about it.
11
+
When using Playwright's UI mode or the HTML reporter, previews of MetaMask tabs and popups within the traces will appear blank. This is a consequence of MetaMask's [LavaMoat](https://github.com/LavaMoat/LavaMoat) security policy, which restricts access to the extension's content in these contexts. Unfortunately, there's no direct workaround within Synpress itself.
12
12
13
-
If you require the previews for development purposes, your only option is to compile MetaMask yourself from the source code and disable the LavaMoat policies. Hit us up on Discord if you need help with that.
13
+
**Workarounds (if previews are *essential* for debugging):**
14
+
15
+
***Use Pre-built MetaMask without LavaMoat:** We have prepared a build of MetaMask without LavaMoat that you can use: https://github.com/synpress-io/metamask-extension/releases
16
+
***Build MetaMask from Source:** You can build a custom version of the MetaMask extension with LavaMoat disabled. This is *not* recommended for general use or production, only for local debugging. If you need assistance with this, reach out to the Synpress community on [Discord](https://discord.gg/XhZKSRGtWc).
17
+
***Use Headful Mode on CI and locally:** While not ideal for CI, running tests in headed mode (`playwright test` or `HEADLESS=false playwright test`) will allow you to observe the MetaMask UI directly during test execution, which can help with debugging.
14
18
15
19
## MetaMask
16
20
17
-
### MetaMask is not working in headless mode on GitHub Actions CI
21
+
### Headless Mode Limitations on CI
22
+
23
+
MetaMask has known compatibility issues with running in headless mode on certain CI providers, including GitHub Actions. This is due to a bug within MetaMask itself, not within Synpress.
24
+
25
+
**Workaround:**
26
+
27
+
***Run in Headful Mode on CI:** The recommended solution is to run your Synpress tests in *headed* mode on CI. This typically requires configuring your CI environment to use a virtual display (e.g., `xvfb-run` on Linux). See the [CI documentation](/docs/guides/ci.md) for detailed instructions.
28
+
29
+
```yaml
30
+
# Example (GitHub Actions):
31
+
- name: Build cache
32
+
run: xvfb-run npx synpress
33
+
34
+
- name: Run E2E tests (headful)
35
+
run: xvfb-run npx playwright test
36
+
```
37
+
38
+
**Note:** We are actively monitoring for updates from MetaMask that might resolve this headless mode limitation.
39
+
40
+
## Windows
18
41
19
-
Due to a bug in MetaMask, it's impossible to run MetaMask in headless mode on GitHub Actions. We're certain this bug affects other CI providers, however, we have yet to test it.
42
+
Currently, Synpress does not officially support Windows. We recommend using [WSL (Windows Subsystem for Linux)](https://learn.microsoft.com/en-us/windows/wsl/install) as a workaround.
20
43
21
-
<Warning>
22
-
You can run the tests in the headful mode on CI, and they will work just fine.
23
-
</Warning>
44
+
## Cypress
45
+
Synpress offers experimental support for Cypress, however there are some issues, and you may encounter unexpected behaviour.
0 commit comments