我试图在Playwright身上做一些断言。我需要在链接列表中声明这一点 <;a>;
它们都具有该属性 href
. 然而,我不知道如何通过Playwright的作用来实现这一点。
我的代码在这里:
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。
我怎样才能做到这一点?
这是正在测试的网站:
https://the-internet.herokuapp.com/
玩技站长微信
发送[PLAYEZU]入群

rainbow-shownow
微信号已复制
玩技官方公众号
官方微信公众号

PLAYEZU
公众号已复制
未知地区 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();
}