diff --git a/functional-test/src/main/java/org/zanata/page/projects/projectsettings/ProjectLanguagesTab.java b/functional-test/src/main/java/org/zanata/page/projects/projectsettings/ProjectLanguagesTab.java index fcb1b09261..21ae8f52d0 100644 --- a/functional-test/src/main/java/org/zanata/page/projects/projectsettings/ProjectLanguagesTab.java +++ b/functional-test/src/main/java/org/zanata/page/projects/projectsettings/ProjectLanguagesTab.java @@ -88,28 +88,27 @@ public ProjectLanguagesTab enterSearchLanguage(String languageQuery) { * @return new language settings, anticipating the language has been added. */ public ProjectLanguagesTab addLanguage(final String localeId) { - waitForTenSec().until(new Function>() { + waitForTenSec().until(new Predicate() { @Override - public List apply(WebDriver driver) { - return WebElementUtil.getSearchAutocompleteResults(driver, - "settings-languages-form", "languageAutocomplete"); + public boolean apply(WebDriver driver) { + List searchResults = + WebElementUtil.getSearchAutocompleteResults( + getDriver(), + "settings-languages-form", + "languageAutocomplete"); + + boolean clickedLocale = false; + for (WebElement searchResult : searchResults) { + if (searchResult.getText().contains(localeId)) { + searchResult.click(); + clickedLocale = true; + break; + } + } + return clickedLocale; } }); - List searchResults = - WebElementUtil.getSearchAutocompleteResults(getDriver(), - "settings-languages-form", "languageAutocomplete"); - - boolean clickedLocale = false; - for (WebElement searchResult : searchResults) { - if (searchResult.getText().contains(localeId)) { - searchResult.click(); - clickedLocale = true; - break; - } - } - Preconditions.checkState(clickedLocale, "can not find locale - %s", - localeId); refreshPageUntil(this, new Predicate() { @Override