You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

在Cypress集成测试中修改指定元素属性的方法咨询

在Cypress集成测试中修改元素属性的方法

当然可行啦!你想要实现的类似原生JS修改元素属性的操作,在Cypress里完全可以做到,我给你分享两种常用的实现方式:

  • 使用Cypress的.invoke()方法(推荐)
    这是Cypress官方推荐的操作DOM属性的方式,它可以直接调用jQuery的attr方法来设置属性,代码简洁直观:

    cy.get('#my-id').invoke('attr', 'data-test', 'new-value');
    

    这里的invoke('attr', ...)就相当于帮你执行了原生的setAttribute操作,效果完全一致。

  • 获取原生DOM元素直接操作
    如果你更习惯原生JS的写法,也可以通过.then()获取到原生DOM元素后调用setAttribute,和你写的代码逻辑几乎一样:

    cy.get('#my-id').then(($element) => {
      // $element是jQuery对象,$element[0]获取原生DOM节点
      $element[0].setAttribute('data-test', 'new-value');
    });
    

修改完成后,你还可以加一句断言来验证属性是否成功修改,确保测试的准确性:

cy.get('#my-id').should('have.attr', 'data-test', 'new-value');

内容的提问来源于stack exchange,提问作者SuavekN

火山引擎 最新活动