Dar*_*lla 5 automated-tests meta-tags playwright
我想在 Playwright 中测试 Web 应用程序的元标记,但我在官方文档中没有找到任何信息。有人可以建议我进行元数据测试吗?
例如,我尝试测试:
<meta name="description" content="something">
test("Meta data", async ({ page }) => {
await page.goto(env.baseUrl)
const metaDescription = page.locator('meta [name="description"]')
await expect(metaDescription).toHaveText("something")
})
Run Code Online (Sandbox Code Playgroud)
结果是:
出了什么问题以及如何以正确的方式进行测试?
您的定位器选择器没有匹配任何内容。meta [name="description"]目标元素位于meta具有 属性的元素内name="description"。要定位元元素本身,您必须使用meta[name="description"](注意删除的空格)。
此外,meta 元素保存属性中的文本content。这就是为什么toHaveText不能工作。尝试toHaveAttribute一下。
这是固定版本:
const { test, expect } = require('@playwright/test');
test('basic test', async ({ page }) => {
await page.goto('https://your-site.com');
const metaDescription = page.locator('meta[name="description"]');
await expect(metaDescription).toHaveAttribute('content', 'something')
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2921 次 |
| 最近记录: |