我有一个页面,其中包含一个客户列表的下拉列表。因为有很多客户端(例如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方法?
答案 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();