我们目前正在对所有<select>
元素使用Select2,并且由于明显的原因cy.get("#element").select("foo")
无法使用。根据文档,我们创建了自己的自定义命令cy.get("#element").select2("foo")
,该命令仅包装了一些选择“ foo”的步骤。
这在尝试选择值时效果很好,但是我们希望避免为clear(),value()等添加自定义命令。
我们还希望避免使用Select2 API,因为这将需要有人了解该API,而不是仅使用Cypress API。
我们想通过创建一个赛普拉斯友好对象来创建更灵活的东西。看起来像这样:
cy.get("#element").select2().as("select2");
cy.get("@select2").select("foo");
cy.get("@select2").should("be.equal", "foo");
cy.get("@select2").clear();
是否可以创建一个子命令,该子命令返回一个对象,然后该对象可以覆盖这些内置命令?
如果不先cy.wrap
破坏目的,就无法从定制命令返回定制对象。