我试图在Playwright身上做一些断言。我需要在链接列表中声明这一点 <;a>;
它们都具有该属性 href
. 然而,我不知道如何通过Playwright的作用来实现这一点。
我的代码在这里:文章源自玩技e族-https://www.playezu.com/180257.html
test.only('then a list of 44 links is displayed', async({ page }) => {
const linkList = await page.locator('div#content > ul > li > a');
for(let i = 0; i < await linkList.count(); i++) {
expect(await linkList.nth(i)).toHaveAttribute('href', ''); }
await expect(linkList).toHaveCount(44);
})
到HaveAttribute()
函数需要2到3个参数,因为它获取键属性和属性值,但我只需要检查它是否具有href attr。文章源自玩技e族-https://www.playezu.com/180257.html
我怎样才能做到这一点?文章源自玩技e族-https://www.playezu.com/180257.html
这是正在测试的网站:
https://the-internet.herokuapp.com/文章源自玩技e族-https://www.playezu.com/180257.html 文章源自玩技e族-https://www.playezu.com/180257.html
未知地区 2F
在尝试了一些选项之后,我意识到我可以在使用定位器时断言if。getAttribute(’href’)不返回null,因此这是一个链接。
所以我实现了:
const linkList = await page.locator(‘div#content > ul > li > a’);
for(let i = 0; i < await linkList.count(); i++) {
expect(await linkList.nth(i).getAttribute(‘href’)).not.toBeNull();
}
未知地区 1F
在尝试了一些选项之后,我意识到我可以在使用定位器时断言if。getAttribute(’href’)不返回null,因此这是一个链接。
所以我实现了:
const linkList = await page.locator(‘div#content > ul > li > a’);
for(let i = 0; i < await linkList.count(); i++) {
expect(await linkList.nth(i).getAttribute(‘href’)).not.toBeNull();
}