javascript - Cypress 获取 href 属性

标签 javascript automated-tests cypress

我有一个测试用例,其中有一个在新选项卡中打开的链接。由于 Cypress 不支持多个选项卡,因此我想获取该链接的 href 属性,然后在同一选项卡中打开它。我正在尝试这样做,但由于某种原因它不起作用。

it('Advertise link should refer to Contact page', () => {
    var link = document.querySelector("div.footer-nav > ul > li:nth-child(2) > a").href;
    cy.visit(link);
    cy.title().should('include', 'Text');
});

最佳答案

下面的代码应该可以实现您想要实现的目标。还有一整个recipe with suggestions on how to test links that open in new tabs .

it('Advertise link should refer to Contact page', () => {
   cy.get('div.footer-nav > ul > li:nth-child(2) > a')
     .should('have.attr', 'href').and('include', 'contact')
     .then((href) => {
       cy.visit(href)
     })
})

我还建议阅读 Cypress 文档,了解分配和使用变量的最佳方法:https://on.cypress.io/variables-and-aliases

关于javascript - Cypress 获取 href 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48348354/

相关文章:

javascript - 比较两个数组 Javascript - 关联

cypress - Cypress 测试之间通过状态的最佳实践是什么

mysql - 如何通过 ssh 隧道连接 mysql 和 cypress?

java - Selenium 在 Firefox 浏览器窗口中运行一些测试时出现 "Can' t 查找配置文件目录错误

selenium - 如何从单个 Windows 机器使用不同版本的 IE 测试 webapp?

events - Cypress 如何在失败时提出请求

javascript - grails: onchange=${remoteFunction()

javascript - 如果单元格不是粗体,则求和

javascript - 根据单选按钮选择更改可选下拉选项的 JQuery 代码

python - 如果一个失败了,如何跳过类里面的其余测试?