
想在您的网站上找到损坏的链接吗?下面介绍如何使用Cypress在您的网站上执行失效链接测试。
您遇到过404错误吗?从最终用户的角度来看,404错误(或损坏的链接)体验可能会彻底关闭。除了烦人的最终用户体验之外,网站上的断开链接(或死链接)还会抑制SEO(搜索引擎优化)活动。您网站上的404页面越多,用户在网站上花费的时间就越少。要降低跳出率并为您的网站建立一流的在线声誉,必须使用赛普拉斯检查损坏的链接。与其他测试自动化框架(如Selenium)相比,通过执行Cypress测试来检查网站上的损坏链接相对容易。在Cypress教程系列的这个博客中,我们深入探讨了在网站上查找损坏链接的“原因”和“方式”。我们还演示了如何使用Cypress(一种最适合现代Web应用程序的测试自动化框架)查找损坏的链接。为什么要在网站上查找损坏的链接搜索引擎算法特别关注用户在您网站上的行为。因此,他们的在线行为在排名过程中起着重要作用。HTTP404代码是您的访问者可能遇到的最令人沮丧的事情之一,而且他们可能永远不会再次访问您的网站。这就像将您的客户群移交给您的竞争对手。除了负面的用户体验外,由于链接断开导致的高跳出率会对您的搜索引擎优化产生负面影响。因此,尽管Google的算法可能不会直接考虑跳出率,但它确实会损害您的在线排名。这是使用Cypress框架的失效链接检查器可以派上用场的地方,因为它可以定期触发以确保网站没有失效链接。断开链接的主要原因只有当您清楚可能导致失效链接的各种情况时,您才能在网站上找到失效链接。导致404错误(或损坏的链接/死链接)的原因有很多;主要的如下:该页面已从网站上删除页面移动到另一个URL,重定向错误您输入了错误的网址服务器故障(虽然很少见)您输入了过期的域地址页面被删除或移动后,断开的链接通常会保留很长时间。这是因为链接到此页面的网站不会被告知该站点不再存在或可以在新URL下找到。此外,损坏的HTML标签、JavaScript错误和损坏的嵌入元素也可能导致网站上的损坏(或死)链接。无论(您的网站)更大计划中的“页面”的重要性如何,都必须定期检查网站上是否存在损坏的链接。虽然您可以使用Selenium找到损坏的链接,但由于实施过程涉及的简单性,建议使用Cypress在网站上查找损坏的链接。检测断开链接的基本HTTP状态代码每当用户访问网站时,服务器都会用一个三位数的响应码来响应浏览器发送的请求。此代码称为“HTTP响应状态代码”,它指示HTTP请求的状态。以下是HTTP状态代码的五个主要类别:信息响应(100–199)成功回复(200–299)重定向(300–399客户端错误(400–499)服务器错误(500–599)尽管对所有HTTP状态代码有一个全面的了解很重要,但我们的兴趣主要在于HTTP404状态,它表示网站上的特定链接是否已损坏。404错误表示虽然服务器可访问,但您要查找的特定页面在服务器上不存在(或不可用)。本质上,它是一个不存在的页面,或者它已损坏。404错误代码可以出现在任何浏览器中,无论您使用的是GoogleChrome还是Firefox。以下是向最终用户显示404错误的多种方式中的一些:404未找到错误404HTTP404404页面不存在未找到错误404未找到HTTP404在此服务器上找不到请求的URL404找不到文件或目录如何使用Cypress查找损坏的链接到现在为止,您应该已经了解检查网站上失效链接的重要性了吧?因此,在平台准备就绪后,让我们看看如何使用Cypress查找损坏的链接。对于初学者来说,Cypress是为现代网络构建的下一代前端测试工具;赛普拉斯测试使您能够编写更快、更容易和更可靠的测试。如果您有Selenium自动化背景,请务必从我们的博客中了解Selenium和Cypress之间的差异,该博客涵盖了Cypress与Selenium的比较。话虽如此,让我们关注断开链接的问题,以及如何构建一些测试来使用Cypress测试自动化来验证它。让我们来看一个包含四个相关超链接的示例HTML页面:
TestingPayingforcovidTestingCovid19antibodyTestingTestingStatistics
如您所见,我们有四个链接,我们需要单击每个链接,检查重定向URL,然后返回到我们的主页。那么,考虑到上述HTML页面,您如何使用Cypress找到损坏的链接?如果我们想出一个仅限于找出四个中哪一个在本质上被破坏的实现呢?如果实现是针对四个链接进行硬编码,则会导致可伸缩性问题,特别是如果检查器用于不同的网页。下面是使用Cypress框架查找网站上失效链接的示例代码。如前所述,这不是一种可扩展的方法,在大型网站上查找损坏的链接时应避免使用。
describe(/'TestNavigation/',()=>{it(/'cannavigateandtestthepages/',()=>{cy.visit(/'https://www.testing.com/at-home-coronavirus-testing//');cy.get(/'main:contains(/"Testing/")/');cy.go(/'back/');cy.visit(/'https://www.testing.com/paying-for-covid-19-testing//');cy.get(/'main:contains(/"Test/")/');cy.go(/'back/');cy.visit(/'https://www.testing.com/covid-19-antibody-testing//');cy.get(/'main:contains(/"Testing/")/');cy.go(/'back/');cy.visit(/'https://www.testing.com/covid-19-testing-statistics//');cy.get(/'main:contains(/"Testing/")/');cy.go(/'back/');});});
在我们下面的示例中,我们单击每个页面并检查特定断言,它不遵循设计模式,我们可以改进我们在网站上获取链接的方式。让我们看看下面的例子。
it(/'Navigatethroughthelinksusingloops/',()=>{constpages=[/'TestingCovid/',/'PayingforCovid19Test/',/'TestAntibodyCovid19/',/'TestingStatistics/']cy.visit(/'//')pages.forEach(page=>{cy.contains(page).click()cy.location(/'pathname/').should(/'eq/',`/${page}`)cy.go(/'back/')})})
正如您可以从上面的代码中推断出的那样,我们正在针对特定页面进行循环并验证页面信息。我们创建了一个“forEach”循环,它将遍历重复整个过程的数组。如果出于任何原因我们的导航栏更改项目,则特别有用。我们将向数组添加一个项目,并且我们的测试有效。“如果您使用Cypress在您的网站上查找损坏的链接,请务必注意,Cypress会更改其主机URL以匹配您的AUT(被测应用程序)的URL。Cypress的基本要求是,在整个单个测试中,被导航的URL应该具有相同的超级域。”导航到子域工作正常,但如果您访问两个不同的超级域,赛普拉斯会抛出错误。因此,您可以在其他测试中看到不同的超级域,但在同一测试中看不到。我们可以简单地检查具有href属性的链接并检查它们的HTTP状态代码,而不是打开测试网站上的每个链接。如果返回代码是404,则表示该特定链接是损坏的(或死的)链接。演示:使用Cypress查找断开的链接为了演示如何使用Cypress在您的网站上查找损坏的链接,让我们在LambdaTest博客上执行损坏的链接测试。LambdaTest博客上有近500多篇文章,我们使用Cypress的断开链接检查器将检查每个链接(即,在href属性下)。以下是使用Cypress在网站上查找损坏链接的测试场景:测试场景转到Chrome上的LambdaTest博客。收集页面上存在的所有链接。为每个链接发送HTTP请求。在终端打印链接是否断开。项目结构是时候在集成文件夹下创建我们的测试了;正如您在下面看到的,我们有一个名为test-example.js的测试。下图是目录结构:

创建测试执行为确保代码可扩展和可维护以检查“N”个网站上的损坏链接,我们将测试URL保存在单独的JSON文件中(例如,config.json)。
{/"URL1/":/"https://www.lambdatest.com/blog/",/"URL2/":/"https://www.lambdatest-playground.com/
未经允许不得转载:头条资讯网_今日热点_娱乐才是你关心的时事新闻 » 如何使用 Cypress 查找损坏的链接
头条资讯网_今日热点_娱乐才是你关心的时事新闻








