量角器:如何检查元素是否立即存在

时间:2015-05-21 20:23:56

标签: protractor

我有一个页面,其中包含一个客户列表的下拉列表。因为有很多客户端(例如500个),所以加载所有客户端大约需要20秒。我想测试这个加载并检查某个客户端是否在某个时间出现。这是我的代码:

 browser.sleep(5000);
 SearchPage.clientDropDownButton.click();
 SearchPage.clientSearchTextbox.sendKeys('company500');
 //companies not loaded yet at this point.
 expect(SearchPage.clientFirstOption.isPresent()).toBeFalsy();

5秒后,代码将开始输入公司名称,但由于客户端未完成加载,我希望该元素不存在,并且它将返回false。问题是,isPresent()似乎等到clientFirstOption元素存在才会评估它是否存在。它不会立即进行检查并通过测试。如何立即检查isPresent方法?

1 个答案:

答案 0 :(得分:3)

您是否将implicitlyWait值修改为0以外的值?如果是这样,请在调用isPresent()之前将其放回0:

browser.sleep(5000);
SearchPage.clientDropDownButton.click();
SearchPage.clientSearchTextbox.sendKeys('company500');
browser.manage().timeouts().implicitlyWait(0);
expect(SearchPage.clientFirstOption.isPresent()).toBeFalsy();