Metoda until()
w org.openqa.selenium.support.ui.FluentWait
jest przeciążona dla interfejsów Predicate<T>
i Function<? super T, V>
jako parametrów.Nie można zrozumieć implementacji metody until() w FluentWait
Należy przyjąć jako argument jednego z następujących (w których zastosowano metodę apply()
):
- klasy Anonymous ekspresji
- N
- Referencyjny sposób
Każda lambda, że określenie jako argument dla tej metody zgłasza następujący błąd:
Metoda aż (Predicate) jest niejednoznaczna dla typu WebDriverWait
Moja Lambda:
x -> x.findElement(byLocator).isDisplayed()
Zakładam, że będzie to sprawa dla każdego lambda, jak apply()
dla każdej funkcji lub Predicate mogą być realizowane przy użyciu z tych lambda.
Więc moje pytanie brzmi, jakie jest zastosowanie metody until, która przyjmuje Predicate jako parametr?
Zaktualizowana: Usunięto pierwszą część pytania, na którą odpowiedział @drkthng.
Tak, nigdy nie zaobserwowano, każda metoda w klasie 'ExpectedConditions' powrócić' ExpectedCondition '' która rozciąga funkcji '. Więc wszystkie moje rozdzierające włosy na pierwszą część pytania wynikały tylko z niedopatrzenia. Dziękuję za odpowiedź, teraz za drugą część, mam nadzieję, że to nie okaże się również fizzlerem. –
Husam
już miał przesłać drugą część mojej odpowiedzi, kiedy skomentowałeś ;-) – drkthng
Jeszcze raz dziękuję. Ogólnie mogę też przekazać Lambda bezpośrednio, ale w 'until()' jestem zmuszony użyć odniesienia do lambda. Co nasuwa pytanie, dlaczego przeładować metodę, gdy pierwsza (z "Funkcja" jako parametr) może osiągnąć to samo. –
Husam