UI元素的自定义子命令

时间:2019-07-10 14:49:13

标签: cypress

我们目前正在对所有<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破坏目的,就无法从定制命令返回定制对象。

0 个答案:

没有答案