如何在发现某个元素时停止 Cypress 测试

问题描述 投票:0回答:1

我有一个 Cypress 测试,运行良好。它的运行停止了一段时间,现在我们需要重新激活它,但它不再工作了。

这是代码

cy.get('[data-cy="content-wrapper"]').then(inputRow => {
            if (inputRow.find('[data-cy="error-message-text"]').length) {
                if (inputRow.find('[data-cy="MarketAvailableRuleFailure"]').length) {
                    cy.log('Outcome not available');
                    cy.then(() => this.skip()); // stop test
                }
                if (inputRow.find('[data-cy="MinValueRuleFailure"]').length) {
                    cy.log('Value is too small');
                    cy.then(() => this.skip()); // stop test
                }
               
            }
        });

我收到此错误消息:“_this.skip 不是函数” error message

.skip 似乎不再像以前那样工作了。

我尝试使用

cy.then(() => cy.state('test').skip())
,如下所述: 文字

不幸的是

cy.state
已被弃用。

有人可以帮我吗?

cypress e2e-testing
1个回答
0
投票

这只是一个拼写错误,屏幕截图与您的代码不符 -

this
前面有一个下划线。

还要确保代码所在的块使用

function() {}
而不是
() => {}
,否则
this
未定义。

© www.soinside.com 2019 - 2024. All rights reserved.