我有一个元素(按钮'che-in / boarding pass'),该类首先被“禁用”,然后在点击另一个元素(按钮'check eligibility')后启用。请参阅屏幕截图。
在:
后:
我的量角器测试步骤是:
1)点击“检查资格”按钮,然后点击
2)点击“登记/登机牌”按钮
我在点击'登记/登机牌'按钮之前使用标准等待功能,例如:
var elm = element(by.id('xxxxxx'));
var EC = protractor.ExpectedConditions;
browser.wait(EC.elementToBeClickable(elm), 5000);
elm.click();
但它确实起作用。它给出了错误'WebDriverError:未知错误:元素xxx在点(759,725)处无法点击。其他元素将收到点击'
然后我去检查'EC.elementToBeClickable'的定义,它说,
/**
* An Expectation for checking an element is visible and enabled such that you
* can click it.
*
* @example
* var EC = protractor.ExpectedConditions;
* // Waits for the element with id 'abc' to be clickable.
* browser.wait(EC.elementToBeClickable($('#abc')), 5000);
*
* @alias ExpectedConditions.elementToBeClickable
* @param {!ElementFinder} elementFinder The element to check
*
* @returns {!function} An expected condition that returns a promise
* representing whether the element is clickable.
*/
elementToBeClickable(elementFinder: ElementFinder): Function;
具体说它将检查元素是否“可见并启用”。那为什么我的代码片段不起作用?
P.S。
我使用的元素定位器是正确的,因为如果我在点击第一个按钮和第二个按钮之前添加5秒的硬编码等待,那么一切正常
elementToBeClickable()似乎根本没有等待。它几乎立即抛出错误。
答案 0 :(得分:1)