import { promises as fs } from "fs" import * as path from "path" import { describe, test, expect } from "./baseFixture" describe("Webviews", ["--disable-workspace-trust"], {}, () => { test("should preview a Markdown file", async ({ codeServerPage }) => { // Create Markdown file const heading = "Hello world" const dir = await codeServerPage.workspaceDir const file = path.join(dir, "text.md") await fs.writeFile(file, `# ${heading}`) await codeServerPage.openFile(file) // Open Preview await codeServerPage.executeCommandViaMenus("Markdown: Open Preview to the Side") // Wait for the iframe to open and load await codeServerPage.waitForTab(`Preview ${file}`) // It's an iframe within an iframe // so we have to do .frameLocator twice const renderedText = await codeServerPage.page .frameLocator("iframe.webview.ready") .frameLocator("#active-frame") .locator("text=Hello world") expect(renderedText).toBeVisible }) })