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`)
}
