typescript - Φιλτράρισμα για μια κλάση και ρόλο στο Playwright;

Θέλω να φιλτράρω για έναν σύνδεσμο με την κλάση navbar__brand στον ιστότοπο του Playwright - μέσω Playwright:

Ο κώδικάς μου:

test("homepage has title and links to intro page", async ({ page }) => { await page.goto("https://playwright.dev/"); const links = page.getByRol

Διαβάστε περισσότερα →

node.js - Πώς να εκτελέσετε μια συνάρτηση JavaScript με το Playwright μέσα σε ένα iframe;

Συγκεντρώνω δεδομένα από μια ιστοσελίδα, και σε ορισμένες στιγμές, είναι απαραίτητο να λύσω ένα reCAPTCHA v2.

Χρησιμοποιώ την υπηρεσία 2Captcha για να λύσω αυτά τα CAPTCHAs. Μετά τη λήψη της απάντησης από το API, η οποία είναι μια συμβολοσειρά, χρειάζεται να εισάγω αυτή την τι

Διαβάστε περισσότερα →

typescript - Πώς μπορώ να κάνω κλικ σε μια συγκεκριμένη θέση ενός στοιχείου χρησιμοποιώντας το playwright;

Σκαλίζω δεδομένα από μια δυναμική ιστοσελίδα, οπότε κάποιες ενέργειες πρέπει να γίνουν για να φορτωθούν τα δεδομένα στο DOM. Υπάρχει μια οριζόντια γραμμή κύλισης στην οποία χρειάζεται να κάνω κλικ, και μέχρι στιγμής, μπορώ να εκτελέσω αυτήν την ενέργεια. Ωστόσο, θα ήταν πιο εν

Διαβάστε περισσότερα →

typescript - Πώς να πάρεις πληροφορίες για την πρόσφατα ανοικτή καρτέλα στο playwright;

Ερευνώ το playwright και προσπαθώ να αλλάξω ή τουλάχιστον να πάρω τον τίτλο της καρτέλας που άνοιξε. Αλλά η λίστα των σελίδων δεν περιέχει την νεοανοιγμένη καρτέλα. Ο κώδικάς μου είναι ένα βασικό τεστ από την τεκμηρίωση.

test('homepage has title and links to intro page navigation', async ({ brows

Διαβάστε περισσότερα →

typescript - Playwright - Δεν μπορεί να εκκινηθεί το Chromium όταν βρίσκεται στο node_modules (Azure Function - Linux και Windows)

Έκανα μια λειτουργία Azure που χρησιμοποιεί το Playwright. Λειτουργεί τοπικά, καλά, αυτό το μέρος δεν αλλάζει)

Στη συνέχεια δημιούργησα μια Azure DevOps pipeline, ώστε να χρησιμοποιεί τον agent Ubuntu, το χτίζει με PLAYWRIGHT_BROWSERS_PATH=0, ώστε το Chromium να κατεβαίνει στους node_modules (και το βλέπω εκεί). Στη συνέχεια κυκλοφορεί στην Azure Function για Linux.

Αλλά όταν η συνάρτηση εκτελείται στο Azure αυτή η γραμμή:

const crBrowser

Διαβάστε περισσότερα →

typescript - Πώς να περάσετε τον Έλεγχο Ακεραιότητας Περιηγητή του CloudFlare με Playwright

Το έργο πάνω στο οποίο δουλεύω έχει ενσωμάτωση με το GitLab και στα ολοκληρωμένα μου τεστ, χρειάζεται να συνδεθώ με το GitLab για να έχω πρόσβαση στην εφαρμογή. Ωστόσο, όταν πηγαίνετε στο https://gitlab.com/users/sign_in, καταλήγετε να μένετε σε αυτήν την οθόνη που λέει Έλεγχος του προγράμματος περιήγησής σας πριν αποκτήσετε πρόσβαση στο gitlab.com.

Ξέρω ότι υπάρχει λύση όταν χρησιμοποιείται το selenium με το undetected-chromedriver (τουλάχιστον για Python), αλλά αναρωτιέμαι αν

Διαβάστε περισσότερα →

typescript - Δοκιμές API Playwright: παρεμβολή σε αίτημα API

Δοκιμάζω έναν διακομιστή με τον έλεγχο API του Playwright.

Έχω μια απλή διαδρομή GET, η οποία πάντα επιστρέφει 405 μη επιτρεπτό. Καταγράφει επίσης ότι η διαδρομή API κλήθηκε. Για χάρη αυτού του παραδείγματος στο StackOverflow, αντικατέστησα την καταγραφή με ένα fetch σε μια προσωρινή API.

export const loader = async () => { await fetch('https://jsonplaceholder.typicode.com/todos/1') .then(response => response.json()) .then(json =&g

Διαβάστε περισσότερα →

typescript - το storageState δεν ρυθμίζεται στο Playwright

Μετά την εκτέλεση των οδηγιών στη επίσημη σελίδα του Playwright για τη ρύθμιση του storageState, διαπιστώνω ότι στην πραγματικότητα δεν αποθηκεύεται τίποτα:

Τα βήματα είναι τα ακόλουθα:

(1) Δημιουργώ το αρχείο global-setup.ts:

async function globalSetup() { const requestContext = await request.newConte

Διαβάστε περισσότερα →

e2e δοκιμές - Αναγκάστε το Playwright να αποτύχει σε περίπτωση σφαλμάτων TypeScript

Δεν μπορώ να βρω τρόπο να αναγκάσω το Playwright να αποτύχει εάν το αρχείο spec.ts έχει προβλήματα TypeScript, όπως μέλη που λείπουν από το interface. Υπάρχει κάποιος τρόπος να το κάνω αυτό;

Διαβάστε περισσότερα →

typescript - Πώς να ελέγξετε αν η νέα ανοιχτή καρτέλα είναι ενεργή (η σελίδα είναι μπροστά) στο Playwright

Έχω ένα απλό σενάριο. Κάνοντας κλικ στον σύνδεσμο GitHub στο playwright.dev προκαλεί το άνοιγμα νέας καρτέλας.

Πώς να επιβεβαιώσετε ότι αυτή η σελίδα άνοιξε και είναι μπροστά (⚠️χωρίς έλεγχο στοιχείων της σελίδας).

Έχει η σελίδα κάποιες ιδιότητες που δείχνουν αυτήν την κατάσταση (όπως isClosed());

Παράδειγμα κώδικα (όπου όλα σε νέα ανοιχτή σελίδα απορρίπτονται):

import { expect, test } from "@playwright/test"; test("sho

Διαβάστε περισσότερα →