任何时候在 Cypress 测试中使用 .within() 时,您都可以选择命名传递给函数 body 的元素变量。这是元素范围命名的示例:
cy.get('#el').within(('optionallyNamedElement') => { cy.log('foo'); });
但这是另一个功能完美的例子,但它不是:
cy.get('#el').within(() => { cy.log('foo'); });
如果函数体中没有使用命名元素术语,我们在编写此测试代码时是否应该为其指定一个名称?我想我们应该。
如果后来有人更改这个名称也没关系,但我认为在这里给他们一个语义名称以供将来使用是对未来程序员的礼貌。该名称可能在整个测试代码库中使用一致的样式,或者只是为未来的程序员提供一种方法,以避免在将来不得不停下来想出一个名称而陷入困境。请记住,未来的程序员可能就是你!
我还认为,在这里主动提供名称可以使代码更加清晰、平易近人和可调试。通过命名元素,当出现错误时,您至少可以知道您认为您所在范围的元素。
这些天当我使用 .within() 时,我总是尝试记住为我输入的作用域命名,即使该变量从未在函数体中使用。
以上是关于在 Cypress .within() 块中主动命名元素的详细内容。更多信息请关注PHP中文网其他相关文章!