cypress - UI 元素的自定义子命令
问题描述
我们目前对所有<select>
元素都使用 Select2 并且由于明显的原因cy.get("#element").select("foo")
无法正常工作。根据文档,我们创建了自己的自定义命令cy.get("#element").select2("foo")
,它只包含了一些选择“foo”的步骤。
这在尝试选择值时效果很好,但我们希望避免为 clear()、value() 等添加自定义命令。
我们还想避免使用 Select2 API,因为这需要有人理解该 API,而不仅仅是在 Cypress API 中工作。
我们想通过使用 Cypress 友好的对象来创建更灵活的东西。看起来像这样的东西:
cy.get("#element").select2().as("select2");
cy.get("@select2").select("foo");
cy.get("@select2").should("be.equal", "foo");
cy.get("@select2").clear();
是否可以创建一个返回对象的子命令,然后可以覆盖这些内置命令?
我们无法从我们的自定义命令返回我们的自定义对象,而不先cy.wrap
ing 它,这违背了目的。
解决方案
推荐阅读
- jquery - 将滚动的正则表达式调整为 ID jQuery 脚本以包含阿拉伯字符
- python - 简单的 TensorFlow LSTM 网络:ValueError:没有为任何变量提供梯度
- asp.net-mvc - 如何使用 Entity Framework 减少对数据库的调用
- c - C - 如何在其中一个用条件变量向主线程发出信号后终止所有线程?
- ios - 在堆栈视图中不占据整个屏幕的表视图
- icalendar - 如何设置具有失效的重复事件的 ICS 文件?
- swift - CoreML 对象检测中的边界框重新对齐
- prolog - prolog 在两个条件下找到最小事实
- javascript - 为 PostCSS 中的所有直系后代生成规则
- javascript - 动态显示用户选择类别的帖子,无需重新加载页面