@lcrespilho/playwright-utils
v1.9.0
Published
Coleção de funções utilitárias que utilizo frequentemente com o Playwright
Readme
Functions
flatRequestUrl(req) ⇒ *
Returns a flattened request URL by combining the URL and postData parameters of the given Request object.
Kind: global function
Returns: * - {string} A string representing the flattened request URL.
| Param | Type | Description | | --- | --- | --- | | req | Request | The Request object containing the URL and postData. |
flatResponseUrl(res) ⇒ *
Returns a flattened request URL from Response object, by combining the URL and postData parameters of the given Response's Request object.
Kind: global function
Returns: * - {string} A string representing the flattened request URL.
| Param | Type | Description | | --- | --- | --- | | res | Response | A Response object |
requestMatcher(pattern)
Accepts a pattern, and returns a function that returns true if a request is matched by the pattern.
Kind: global function
| Param | Description | | --- | --- | | pattern | pattern to match the request URL. |
responseMatcher(pattern)
Accepts a pattern, and returns a function that returns true if a response is matched by the pattern.
Kind: global function
| Param | Description | | --- | --- | | pattern | pattern to match the response URL. |
requestMatcherCb(pattern, cb)
Accepts a pattern and a callback function, and returns a function that returns true if a request is matched by the pattern, and executes the callback with the request object as parameter.
Kind: global function
| Param | Description | | --- | --- | | pattern | pattern to match the request URL. | | cb | Callback function that will be executed after if the request is matched. |
responseMatcherCb(pattern, cb)
Accepts a pattern and a callback function, and returns a function that returns true if a response is matched by the pattern, and executes the callback with the response object as parameter.
Kind: global function
| Param | Description | | --- | --- | | pattern | Pattern to match the request URL. | | cb | Callback function that will be executed after if the request is matched. |
saveSessionCookies(context, key, [expires])
Salva os cookies do contexto no Glitch.
Kind: global function
| Param | Type | Description | | --- | --- | --- | | context | BrowserContext | Contexto do browser. | | key | string | Nome da sessão no Glitch, usado para resgatar a sessão. | | [expires] | number | tempo em s para guardar a sessão remotamente. Default 48h. |
Example
import { saveSessionCookies, restoreSessionCookies } from '../../utils/helpers';
// antes de começar o teste, restaura a sessão anterior, se houver.
test.beforeEach(async ({ context }) => {
await restoreSessionCookies(context, 'session-123');
});
// após o teste, salva a sessão atual, para que possa ser restaurada posteriormente.
test.afterEach(async ({ context }) => {
await saveSessionCookies(context, 'session-123', 2 * 60 * 60);
});restoreSessionCookies(context, key)
Restaura, no contexto do browser, os cookies previamente salvos no Glitch.
Kind: global function
| Param | Type | Description | | --- | --- | --- | | context | BrowserContext | Contexto do browser. | | key | string | Nome da sessão no Glitch, usado para resgatar a sessão. |
Example
import { saveSessionCookies, restoreSessionCookies } from '../../utils/helpers';
// antes de começar o teste, restaura a sessão anterior, se houver.
test.beforeEach(async ({ context }) => {
await restoreSessionCookies(context, 'session-123');
});
// após o teste, salva a sessão atual, para que possa ser restaurada posteriormente.
test.afterEach(async ({ context }) => {
await saveSessionCookies(context, 'session-123', 2 * 60 * 60);
});previewGTM(pageOrContext, tagAssistantUrl)
Realiza preview do GTM. Pode ser utilizada em test.beforeEach ou test.
Kind: global function
| Param | Type | Description | | --- | --- | --- | | pageOrContext | Page | BrowserContext | Contexto ou página do browser. | | tagAssistantUrl | string | url completa de preview do Tag Assistant. Ex: https://tagassistant.google.com/?authuser=8&hl=en&utm_source=gtm#/?source=TAG_MANAGER&id=GTM-123123>m_auth=cDqGMWuJkUq73urprdYOAw>m_preview=env-869&cb=8635696129626987 |
Example
test.beforeEach(async ({ context }) => {
await previewGTM(context, 'https://tagassistant.google.com/?authuser=8&hl=en&utm_source=gtm#/?source=TAG_MANAGER&id=GTM-123123>m_auth=cDqGMWuJkUq73urprdYOAw>m_preview=env-869&cb=8635696129626987');
});enableGADebug()
Simula a extensão Google Analytics Debugger (https://chrome.google.com/webstore/detail/jnkmfdileelhofjcijamephohjechhna), habilitando debug de GA3 (analytics.js) e GA4 (gtag).
Kind: global function
scrollToBottom()
Realiza scroll até o fundo da página, suavemente.
Kind: global function
waitForWebToServer()
Waits for a specific Web To Server request to be made and returns its details.
Kind: global function
Throws:
- Error Throws an error if events_received is not equal to 1
Example
const { event_data, event_id, requestUrl } = await waitForWebToServer({
page,
eventName: 'page_view',
timeout: 15000
})
console.log(event_id, requestUrl)waitForFacebookPixel()
Waits for a specific Facebook Pixel request to be make and returns its details.
Kind: global function
Example
const { event_id, requestUrl } = await waitForFacebookPixel({
page,
eventName: 'PageView',
pixelId: '123123123123',
timeout: 15000
})
console.log(event_id, requestUrl)highlightLocator(locator)
Highlights a locator on the page.
Kind: global function
| Param | Description | | --- | --- | | locator | The locator to highlight. |
Example
const locator = page.getByRole('button', { name: 'Click Me' })
await highlightLocator(locator)Como criar pacotes NPM
https://www.youtube.com/watch?v=Nh9xW2-ZOEU
