Pat*_*nny 7 playwright playwright-test
在我的 Playwright 测试中,我根据文档设置了base-url :
const config: PlaywrightTestConfig = {
projects: [
{
name: 'Safari MacBook Air',
use: {
browserName: 'webkit',
viewport: {
width: 2560,
height: 1620,
},
contextOptions: {
ignoreHTTPSErrors: true,
},
},
},
],
use: {
baseURL: process.env.PLATFORMSH_URL,
headless: false,
locale: 'ja-JP',
// Debugging artifacts.
screenshot: 'on',
trace: 'on',
video: 'on',
},
};
export default config;
Run Code Online (Sandbox Code Playgroud)
这适用于goto
:
await this.page.goto('/myDirectory');
Run Code Online (Sandbox Code Playgroud)
但是,它失败了expect
:
expect(page.url()).toBe('/myPage');
Run Code Online (Sandbox Code Playgroud)
错误是:
Run Code Online (Sandbox Code Playgroud)Expected: "/myPage" Received: "https://www.example.com/myPage"
我该如何使用expect
with baseURL
?
小智 17
尝试使用此断言:例如,将 Playwright 主页配置为我们的 baseUrl
{
name: 'webkit',
use: {
...devices['Desktop Safari'],
baseURL: 'https://playwright.dev/'
},
},
Run Code Online (Sandbox Code Playgroud)
然后:
test('baseUrl', async ({ page }) => {
await page.goto('/docs/intro');
await expect(page).toHaveURL('/docs/intro');
});
Run Code Online (Sandbox Code Playgroud)
如果您想继续使用此格式:
expect(page.url()).toBe('/myPage');
Run Code Online (Sandbox Code Playgroud)
然后您需要更改断言,因为您所在的网址不等于您的目录。您可以断言您所在的 url 包含上述目录,而不是:
expect(page.url()).toContain('/myPage');
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17503 次 |
最近记录: |