我试着使用
this api tutorial
从我们的代理后面调用Web服务。
但我明白
Error: apiRequestContext.get: Connection timeout
Call log:
- â GET https://reqres.in/api/users/2
- user-agent: Playwright/1.40.1 (x64; windows 10.0) node/18.7
- accept: */*
- accept-encoding: gzip,deflate,br
如果我打开
reqres.in/api/users/2
在浏览器中,它按预期工作。如果我跑步
npm run tests:chrome
演示测试
example.spec.ts
打开的
playwright.dev
同样有效。
我的测试
api.spec.ts
有这些线路
import {test, expect} from '@playwright/test'
import { assert } from 'console'
import exp from 'constants'
test.describe.parallel("Api testing", () => {
const baseURL = "https://reqres.in/api"
test("Simple API 1", async ({request}) => {
const response = await request.get( "https://reqres.in/api/users/2")
// const response = await request.get( `${baseURL}/users/2`)
expect(response.status()).toBe(200)
})
})
还有我的
api.config.ts
有这些线路
import { PlaywrightTestConfig } from '@playwright/test';
import exp from 'constants';
import { userInfo } from 'os';
const config: PlaywrightTestConfig = {
timeout: 60000,
retries: 0,
testDir: 'tests/api',
use: {
headless: false, viewport: {width: 1280, height: 720},
actionTimeout: 10000, ignoreHTTPSErrors: true, video: 'off', screenshot: 'off'
},
projects: [ { name: 'Chromium', use: { browserName: 'chromium'}, } ]
}
export default config
还有我的
package.json
有这些线路
{
"name": "api-24-01", "version": "1.0.0",
"description": "Automated Software testing with Playwright",
"main": "index.js",
"scripts": {
"tests:chrome" : "playwright test --config=playwright.config.ts --project=Chromium",
"tests:api" : "playwright test --config=api.config.ts --project=Chromium"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"@playwright/test": "^1.40.1",
"@types/node": "^20.10.8"
}
}
电流
guide on api testing
没有解释是否必须在需要身份验证的公司代理后面执行任何其他操作或配置。
问题
我必须做什么/配置才能在需要身份验证的公司代理后面使用Playwright API测试?