javascript - 为什么在 cypress.io 中拖放不能按预期工作?
问题描述
我正在尝试在网站上自动化一个简单的拖放场景。
https://gojs.net/latest/samples/htmldragdrop.html
我将按照 cypress doc 中提供的方法进行
我的示例测试用例是:
cy.visit("https://gojs.net/latest/samples/htmldragdrop.html")
cy.get('#paletteZone .draggable').first().trigger('mousedown', { which: 1 })
.trigger('mousemove', { clientX: 500, clientY: 500 })
.trigger('mouseup', { force: true })
运行相同后:
赛普拉斯专注于触发 mousedown 我想要拖动的元素,但在 mousemove 的步骤上 - 当我使用“之前”和“之后”状态检查相同的内容时没有发生任何事情。已经尝试过不同的放置位置,只是为了确保它与 x,y 坐标问题无关,但徒劳无功。请帮忙
编辑 1:能够使用赛普拉斯网站本身提供的插件拖放相同的内容,即 '@4tw/cypress-drag-drop' 。这在同一个网站上就像魅力一样
cy.get('#paletteZone .draggable').first().drag('canvas','center')
但是当我在不同的网站上尝试相同的(仅用于测试目的,我不拥有相同的)时,该插件也有问题。 https://www.seleniumeasy.com/test/drag-and-drop-demo.html
cy.visit("https://www.seleniumeasy.com/test/drag-and-drop-demo.html")
//cy.viewport(1600, 800)
cy.get('#todrag span').first().drag('#mydropzone','center')
cy.get('#todrag span').first().drag('#mydropzone','center')
cy.get('#todrag span').first().drag('#mydropzone','center')
cy.get('#todrag span').first().drag('#mydropzone','center')
在实际的网站上,左侧的可拖动项目被删除并放置在右侧,但在运行我的代码后 - 尽管项目被添加到右侧,但它们并没有从左侧 div 中删除。我们需要在这里添加什么吗(在我的屏幕截图中 - 代码运行后 Draggagble 1 不应该出现)
解决方案
推荐阅读
- c# - 带有过滤器的 PageIterator.IterateAsync() 过滤器子句无效
- r - 使用 sf 在 R 中将几何从两个坐标转换为三个坐标
- android - 如何用位图(或其他)图像分别为每个路径元素填充矢量图像?(安卓)
- r - 使用 rollRegres 和 plm 或 for 循环进行滚动回归?
- angular - 我如何在 PIE 图表上以角度显示值?我正在使用 ngx-echarts
- woocommerce - 向自定义角色显示特定订单
- graphql - ManyToOne 字段未出现在父解析器中
- javascript - 尝试在 React 中添加条件时映射功能的问题
- paypal - PayPal 订阅:ACTIVE 与 APPROVED 状态的含义
- php - 发送php邮件失败