【问题标题】:Test with cypress graphics created with d3.js使用 d3.js 创建的 cypress 图形进行测试
【发布时间】:2021-11-20 12:31:10
【问题描述】:

我有一个用 d3.js 制作的 2d 图表,我应该用 cypress 对其进行测试。 首先我想让点移动

 <circle id="MYID" class="clickable handler" r="5" htmlTemplate="pippo" cx="1144.6314588049954" cy="298.9141325106507"></circle>

我尝试了这些解决方案(已评论 2 个中的一个)但它不起作用:

  cy.get('[id="MYID"]')
       // .trigger('mousedown', { which: 1, force: true, view: window })
       // .trigger('mousemove', { position: 'top', view: window })
       // .trigger('mouseup', { position: 'top', force: true });
       .trigger('mousedown', {
         which: 1,
         force: true,
         view: window,
       })
       .trigger('mousemove', {
         clientX: 3000,
         clientY: 5000,
         force: true,
      })
       .trigger('mouseup', {
         force: true,
         view: window,
       });
   });

在评论的情况下,它似乎在移动,但它是毫米级的,我想重现球的真实和 propsio 位移,但是当我这样做时它不会移动一毫米!

【问题讨论】:

    标签: d3.js cypress cypress-component-test-runner


    【解决方案1】:

    我是这样解决的:

     cy.window().then(window => {
       cy.get('[id="MYID"]')
         .trigger('mousedown', {
           which: 1,
           force: true,
           view: window,
         })
         .trigger('mousemove', {
           clientX: 300,
           clientY: 500,
           force: true,
         })
         .trigger('mouseup', {
           force: true,
           view: window,
         });
     });
    

    【讨论】:

    • 为了澄清您的答案,您在原始测试中使用了错误的window。赛普拉斯通过cy.window() 提供对应用程序窗口的访问。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-16
    • 2014-01-19
    相关资源
    最近更新 更多