@lvce-editor/test-with-playwright-worker 22.40.5 → 22.40.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/workerMain.js +59 -24
  2. package/package.json +1 -1
@@ -1861,6 +1861,7 @@ const getResultCounts$1 = status => {
1861
1861
  */
1862
1862
  const runTests = async ({
1863
1863
  browser = 'chromium',
1864
+ createPage,
1864
1865
  filter,
1865
1866
  headless,
1866
1867
  onFinalResult,
@@ -1881,32 +1882,38 @@ const runTests = async ({
1881
1882
  // Filter tests if a filter is provided
1882
1883
  const filteredTests = filter ? tests.filter(test => test.includes(filter)) : tests;
1883
1884
  for (const test of filteredTests) {
1884
- const result = await runTest({
1885
- browser,
1886
- page,
1887
- port,
1888
- test,
1889
- testSrc,
1890
- timeout,
1891
- traceFocus: traceFocus ?? false,
1892
- traceRendererWorker: rendererWorkerTraceDirectory !== undefined,
1893
- ...(svgScreenshotOptions && {
1894
- svgScreenshotOptions
1895
- })
1896
- });
1897
- if (rendererWorkerTraceDirectory) {
1898
- await exportTrace({
1899
- directory: rendererWorkerTraceDirectory,
1900
- page,
1901
- test
1885
+ const testPage = await createPage?.();
1886
+ const currentPage = testPage?.page ?? page;
1887
+ try {
1888
+ const result = await runTest({
1889
+ browser,
1890
+ page: currentPage,
1891
+ port,
1892
+ test,
1893
+ testSrc,
1894
+ timeout,
1895
+ traceFocus: traceFocus ?? false,
1896
+ traceRendererWorker: rendererWorkerTraceDirectory !== undefined,
1897
+ ...(svgScreenshotOptions && {
1898
+ svgScreenshotOptions
1899
+ })
1902
1900
  });
1901
+ if (rendererWorkerTraceDirectory) {
1902
+ await exportTrace({
1903
+ directory: rendererWorkerTraceDirectory,
1904
+ page: currentPage,
1905
+ test
1906
+ });
1907
+ }
1908
+ await onResult(result);
1909
+ // @ts-ignore
1910
+ const resultCounts = getResultCounts$1(result.status);
1911
+ failed += resultCounts.failed;
1912
+ passed += resultCounts.passed;
1913
+ skipped += resultCounts.skipped;
1914
+ } finally {
1915
+ await testPage?.dispose();
1903
1916
  }
1904
- await onResult(result);
1905
- // @ts-ignore
1906
- const resultCounts = getResultCounts$1(result.status);
1907
- failed += resultCounts.failed;
1908
- passed += resultCounts.passed;
1909
- skipped += resultCounts.skipped;
1910
1917
  }
1911
1918
  const end = performance.now();
1912
1919
  await onFinalResult({
@@ -3050,6 +3057,31 @@ const runAllTests = async (extensionPath, testPath, cwd, browser, headless, time
3050
3057
  return;
3051
3058
  }
3052
3059
  const tests = await getTests(testSrc);
3060
+ let initialBrowserAvailable = true;
3061
+ const createPage = browser === 'webkit' ? async () => {
3062
+ signal.throwIfAborted();
3063
+ if (initialBrowserAvailable) {
3064
+ initialBrowserAvailable = false;
3065
+ return {
3066
+ dispose,
3067
+ page
3068
+ };
3069
+ }
3070
+ const nextBrowser = await startBrowser({
3071
+ browser,
3072
+ headless,
3073
+ signal
3074
+ });
3075
+ try {
3076
+ if (traceRendererWorker) {
3077
+ await nextBrowser.page.addInitScript(install);
3078
+ }
3079
+ return nextBrowser;
3080
+ } catch (error) {
3081
+ await nextBrowser.dispose();
3082
+ throw error;
3083
+ }
3084
+ } : undefined;
3053
3085
  await runWithJavascriptCoverage({
3054
3086
  coverage,
3055
3087
  cwd,
@@ -3057,6 +3089,9 @@ const runAllTests = async (extensionPath, testPath, cwd, browser, headless, time
3057
3089
  run: async () => {
3058
3090
  await runTests({
3059
3091
  browser,
3092
+ ...(createPage && {
3093
+ createPage
3094
+ }),
3060
3095
  ...filterOption,
3061
3096
  headless,
3062
3097
  onFinalResult,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/test-with-playwright-worker",
3
- "version": "22.40.5",
3
+ "version": "22.40.6",
4
4
  "description": "Worker package for test-with-playwright",
5
5
  "repository": {
6
6
  "type": "git",