with Headless Testing and Playwright?
Generates a pdf of the page and store it on /tmp directory. See the documentation
Store a new screenshot file on /tmp directory. See the documentation
The Headless Testing API unlocks the power of automated browser tasks, enabling developers to run end-to-end tests in a headless Chrome environment. This service is crucial for continuous integration pipelines, allowing for the execution of scripts that verify the functionality and performance of web applications without the need for a graphical user interface. With Pipedream, you can connect the Headless Testing API to a myriad of other services, triggering automated tests based on specific events, storing results, and even notifying team members about test outcomes.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
headless_testing: {
type: "app",
app: "headless_testing",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.headlesstesting.com/api/v1/user`,
params: {
token: `${this.headless_testing.$auth.api_key}`,
},
})
},
})
Playwright is a Node.js library which provides a high-level API to control Chrome/Chromium over the DevTools Protocol. Playwright runs in headless mode on Chromium on Pipedream.
Using Playwright you can perform tasks including:
import { playwright } from '@pipedream/browsers';
export default defineComponent({
async run({steps, $}) {
const browser = await playwright.launch();
// Interact with the web page programmatically
// See Playwright's Page documentation for available methods:
// https://playwright.dev/docs/api/class-page
const page = await browser.newPage();
await page.goto('https://pipedream.com/');
const title = await page.title();
const content = await page.content();
// Close context and browser otherwise the step will hang
await page.context().close()
await browser.close();
return { title, content }
},
})