等待不再在nightwatchjs中禁用的元素

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

我正在对下拉菜单选项运行我的nightwatchjs测试脚本,用于汽车makemodel

在选择汽车制造商之前,模型元素已正确禁用,如下所示;

enter image description here

当我选择一个制造商时,模型元素被启用,并且被禁用的零件被移除。

但是,我想做的是一种等待形式,以便脚本的其余部分将等到启用该元素后再继续。

目前,我有以下代码;

browser.expect.element('#bfsDesktopFilters #ddl-model').to.be.enabled;

这在大多数情况下都有效,但是有时加载模型下拉菜单会稍有延迟,并且测试会失败。

有没有一种方法(我真的不想使用暂停)?

我已经尝试过;

waitForElementToBeEnabled
waitForElementToBeClickable 

但没有运气。

谢谢。

javascript element nightwatch.js
1个回答
0
投票

我将尝试使用getAttribute函数,该函数需要3个参数;元素,属性,回调。在回调中传递res var并使用res值获取其状态。像这样的东西:

driver.getAttribute('#bfsDesktopFilters #ddl-model', 'disabled', function(res) {
   // check res.value here and do something
})
© www.soinside.com 2019 - 2024. All rights reserved.