在同一元素上执行多个操作时,是否有办法避免使用元素选择器两次或多次?
例如 ('一些测试', function (浏览器) { 浏览器 .waitForElementVisible('选择器', 10000) .click('相同的选择器') }),
不能像Cypress那样安排吗?
Cy
.get('element')
.should('be.visible')
.click() - like 3 actions with only one mentioning of the element's selector
或者将元素保存为变量然后使用它?
我在互联网上进行了搜索,但没有找到任何合适的主题
最佳答案
执行此操作的方法是将定位器移动到 page object或如 API Docs 中所述的变量
NightwatchJS 不遵循 Cypress 模式的原因是我们允许链接所有命令。这意味着您可以创建更复杂的测试。
const githubButton = 'a[aria-label="Nightwatch on Github"]';
before(browser => browser.navigateTo('https://nightwatchjs.org/'));
after(browser => browser.end());
it('click element', function (browser) {
browser
.click(githubButton)
});
只有在 Nightwatch 中可见时才会发生单击,因此您无需在单击之前为其添加断言
关于javascript - Nightwatch 为每次调用使用相同的元素选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76374699/