【发布时间】:2022-08-02 23:43:41
【问题描述】:
我还是赛普拉斯的新手,但这种行为让我很生气。 提前感谢您的帮助! 因此,在 2 页上进行 2 次测试。 我可以在先前测试的页面上运行此代码:
cy.get(\'meta[property=\"article:tag\"]\')
.should(\"have.attr\", \"content\")
.and(\"include\", subex_subscriberexclusive_only)
.and(\"not.include\", subex_subscriberexclusiveBeta_only);
然后在随后的测试中,在另一个页面上,我运行相同的代码,并且似乎通过“not.include”步骤,这次主题已经改变。至少那是我得到的错误。
所以相同的代码,只是交换变量,因为测试是为了确保在第二页上相反:
cy.get(\'meta[property=\"article:tag\"]\')
.should(\"have.attr\", \"content\")
.and(\"include\", subex_subscriberexclusiveBeta_only)
.and(\"not.include\", subex_subscriberexclusive_only);
错误内容如下:
The invalid subject you asserted on was:
> undefined
另一个奇怪的事情是,如果我注释掉“not.include”测试,一切都会通过。 我猜测在“包含”测试之后主题会发生变化,这就是主题发生变化的地方。
那么有没有办法重新设置主题呢?或者我应该用另一种方式来构建这个测试吗?我不想仅仅评论负面测试,我想知道我们有我们需要的东西,而不是我们不需要的东西(而且它第一次起作用)。
我尝试过的其他一些事情是使用 invoke 及其,但这似乎会导致相同的结果,但仅适用于第二页。我还可以删除第一页上的第一个测试或交换订单,它总是挂在这里。也许我犯了一个错字,我需要重新审视。无论如何,谢谢!
最新尝试:
cy.get(\'meta[property=\"article:tag\"]\')
.should(\"have.attr\", \"content\")
.should(($meta) => {
expect($meta).to.include(subex_subscriberexclusiveBeta_only)
expect($meta).not.to.include(subex_subscriberexclusive_only)
})
一样挂机。
谢谢!
标签: cypress e2e-testing chain