import { test, expect } from '@playwright/test'; import { createServer } from "http-server"; test("same-domain embed is loading", async ({ page }) => { await page.goto("http://localhost:9990/embed.html"); const res = page.locator("replay-web-page").frameLocator("iframe").locator("replay-app-main wr-coll wr-coll-replay").frameLocator("iframe").frameLocator("iframe#twitter-widget-0").locator("body"); await expect(res).toContainText("Want to help"); }); test("cross-domain embed is loading", async ({ page }) => { await page.goto("http://localhost:8020/"); const res = page.locator("replay-web-page").frameLocator("iframe").locator("replay-app-main wr-coll wr-coll-replay").frameLocator("iframe").frameLocator("iframe#twitter-widget-0").locator("body"); await expect(res).toContainText("Want to help"); }); test("sandbox + cross-domain embed is loading", async ({ page }) => { await page.goto("http://localhost:8030/"); const sandboxFrame = page.locator("iframe"); await expect(await sandboxFrame.getAttribute("src")).toBe("http://localhost:8020/index-sandbox.html"); const res = page.frameLocator("iframe").locator("replay-web-page").frameLocator("iframe").locator("replay-app-main wr-coll wr-coll-replay").frameLocator("iframe").frameLocator("iframe#twitter-widget-0").locator("body"); await expect(res).toContainText("Want to help"); }); test("require subdomain iframe", async ({ page }) => { // load directly, should be blocked await page.goto("http://localhost:8020/index-sandbox.html"); const res = page.locator("replay-web-page"); await expect(res).toContainText("Sorry, due to security settings, this ReplayWeb.page embed only be viewed within a subdomain iframe."); });