如何在出现错误时不停止地检查柏树中的所有链接



所以基本上我必须在许多网站上测试许多链接,所以我想写一个非常通用的代码。在这种情况下,它只是故意检查主部分。

it('check all links in main', () => {
cy.visit('/')
cy.get("main").within(() => {
cy.get("a").each(page => {
cy.request(page.prop('href'))
})
})
});

这将检查所有链接,但前提是没有错误。我希望它能贯穿整个页面,如果它有效与否,只需注销每个链接。它不应该在第一个错误后停止。

看起来您正在寻找failOnStatusCode选项

cy.get("a").each(page => {
const link = page.prop('href')
cy.request({
url: link,
failOnStatusCode: false  // allow good and bad response to pass into then
}).then(response => {
Cypress.log({
name: link,
message: response.status
})
})
})

尝试将您的请求放入.then()实例中。

it('check all links in main', () => {
cy.visit('/')
cy.get("main").within(() => {
cy.get("a").each(a => {
cy.get(a).then((page) => {
cy.request(page.prop('href'), {failOnStatusCode: false})
cy.request({url: page.prop('href'), failOnStatusCode:false, })
})
})
})
})

最新更新