首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Cypress在网站中查找断开的链接?

如何使用Cypress在网站中查找断开的链接?
EN

Stack Overflow用户
提问于 2021-03-05 04:12:06
回答 3查看 624关注 0票数 1

如果有的话,我如何使用Cypress找到一个网站中所有断开的链接?有没有什么插件可以使用?

如果没有,我应该如何编写代码来查看链接是否返回200状态(或成功链接)?

谢谢!

EN

回答 3

Stack Overflow用户

发布于 2021-03-05 06:38:47

也许是这个?

代码语言:javascript
复制
cy.request('yourlink')
  .should((response) => {
    expect(response.status).to.eq(200)
  })
票数 1
EN

Stack Overflow用户

发布于 2021-09-09 03:00:49

试试这个。

对于第一个选择a[href*="yourdomain.com"],我没有包括"www“的原因是因为对于我的项目,我们也链接到子域,所以我需要包括这些。

对于下半场,:not([href=""],对于我的项目,由于某种原因,我们有这样的链接,所以我必须确保不包括它。

$el.prop("href")从DOM元素获取href值。

我使用cy.request()向URL发送一个HTTP请求,并确保它返回200,从而证明该页面存在。

代码如下:

代码语言:javascript
复制
cy.get('a[href*="yourdomain.com"]:not([href=""])').each(($el) => {
  cy.request($el.prop("href")).as("link");
});

cy.get("@link").should((response) => {
  expect(response.status).to.eq(200);
});

你可以在任何页面上使用它。您可以在cypress.json文件中列出页面,也可以通过编程将其作为回归测试。

票数 0
EN

Stack Overflow用户

发布于 2021-10-01 09:33:16

下面是最简单的方法:

代码语言:javascript
复制
 cy.request("yourLink")

是的,不需要添加任何断言。因为默认情况下会断言响应不是404。所以这一行已经足够了。

如果你想走得更远,并测试页面中的所有链接,下面是要做的:

代码语言:javascript
复制
 cy.get('a').each(link => {
    cy.request(link.prop('href'))
  })
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66482349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档