← Files Biological Sequence & Alignment ViewerARCHIVED FILE
scripts/capture-marketplace-screenshots.mjs
1.74 KB · Sep 30, 2026 · 23:01 UTC
import path from "node:path";
import { chromium } from "@playwright/test";
const baseUrl =
process.env.SEQUENCE_VIEWER_SCREENSHOT_BASE_URL ?? "http://127.0.0.1:43128";
const outputDirectory = path.resolve("assets");
const browser = await chromium.launch({
args: [
"--disable-gpu",
"--disable-gpu-compositing",
"--disable-accelerated-video-decode",
"--disable-accelerated-video-encode",
],
channel: "chromium",
headless: true,
timeout: 30_000,
});
try {
const page = await browser.newPage({
colorScheme: "light",
deviceScaleFactor: 1,
viewport: { height: 900, width: 1440 },
});
page.setDefaultTimeout(30_000);
page.setDefaultNavigationTimeout(30_000);
await page.goto(`${baseUrl}/e2e/installed.html?fixture=circular-plasmid.gb`);
let viewer = page.frameLocator("#viewer");
await viewer.getByLabel("Sequence overview and navigation").waitFor();
await viewer.getByRole("button", { name: "Circular" }).click();
await viewer.getByRole("button", { name: "Analyze" }).click();
await page.locator("#viewer").screenshot({
animations: "disabled",
path: path.join(outputDirectory, "sequence-workbench.png"),
});
await page.goto(`${baseUrl}/e2e/installed.html?fixture=dna-demo.aln-fasta`);
viewer = page.frameLocator("#viewer");
await viewer
.getByLabel("Interactive multiple sequence alignment viewer")
.waitFor();
await viewer.getByRole("button", { name: "Analyze" }).click();
await viewer.getByRole("button", { name: "Neighbor-joining tree" }).click();
await viewer.getByLabel("Graphical guide tree").waitFor();
await page.locator("#viewer").screenshot({
animations: "disabled",
path: path.join(outputDirectory, "alignment-workbench.png"),
});
} finally {
await browser.close();
}
SHA-256: 77e1ef3a6603d77b4e9970b62bb4d93cfa110d8e711b3dae234e4d01cb7e921e