typescript - playwright `Η ιδιότητα 'get' δεν υπάρχει στον τύπο 'APIRequest'`


Έτσι ο παρακάτω κώδικας λειτουργεί για μένα στο test.spec.ts:

//@ts-check
import { test, request } from '@playwright/test'

test('api test - to see if Playwright API calls are working', async ({ request }) => {
  const response = await request.get(`https://catfact.ninja/fact`);
  const statusCode = response.status()
  const responseBody = JSON.parse(await response.text())
)}

Έτσι θέλω να εξαγάγω αυτό το κάλεσμα σε ξεχωριστό μονάδα. Δοκίμασα σε ξεχωριστό αρχείο:

import { request } from '@playwright/test';

export async function getCatInfo() {
    const response = await request.get(`https://catfact.ninja/fact`)
}

Παίρνω ένα σφάλμα στο VS Code: Η ιδιότητα 'get' δεν υπάρχει στον τύπο 'APIRequest'

Τι κάνω λάθος;

Απάντηση #1

Πρέπει να δημιουργήσετε πρώτα το apiRequestContext

import { request, APIRequestContext } from '@playwright/test';

test('api request test', async () => {
    const apiRequestContext: APIRequestContext = await request.newContext();
});

τότε χρησιμοποιήστε apiRequestContext

const response = await apiContext.get('https://reqres.in/api/users?page=2');

Απάντηση #2

Πρέπει να εισαγάγετε από το playwright/test:

import { test, request } from '@playwright/test';

export async function getCatInfo() {
    const response = await request.get(`https://catfact.ninja/fact`)
}