Wpis z mikrobloga

Mirki od #qa #testowanieoprogramowania #selenium #java #testowanie

Mam taki problem - uczę się Selenium z Javą i mam jednen problem. Mianowicie mam kalkulator do testowania, który wyrzuca zmienną wartość w okienku po każdej operacji wykonanej na kalkulatorze. Macie może jakieś opcje co by porównać wynik?

Powiedzmy chcę zrobić działanie 2+2 > wynik
i później sprawdzić czy ten wynik to 4, jeśli tak to return True, jeśli nie to False

Macie może jakieś pomysły? Jak potrzeba, to podeślę link, ale chciałbym załapać ideę, jak to ogarnąć, bo najpewniej ktoś z was zrobiłby to w 5 sekund i podesłał mi gotowca, a tego nie chcemy tutaj.
  • 30
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@milvanb: Dziwne bo u mnie działa, możliwe że przeglądarka nie zdąży załadować tego title'a a selenium chce juz go pobierać i zwraca pusty. Zarzuć tam jakiegoś wait'a.

I jeszcze w tym if'ie na dole kodu nie porównuj Stringa operatorem '==' tylko użyj metody equals.
https://stackoverflow.com/questions/767372/java-string-equals-versus

Swoją drogą to wygląda na to że do input'a wysyłasz Stringa, który już jest efektem przeliczenia, więc wysyłasz Liczbę 4 do inputa w kalkulatorze a
  • Odpowiedz
@milvanb:

wd.until(ExpectedConditions.attributeContains (framePath, "title", "9")); //CRASH
Chyba po prostu się pomyliłeś i zamiast "value" dałeś "title", we wcześniejszych zadaniach wyciągałeś/czekałeś na "value".
  • Odpowiedz
czyli data-inp sa pod jednym . ale jak zrobic tak, zeby selenium atuomatycznie czytalo wszystkie z nich?
wiem, ze tutaj moze przyjsc z pomoca .size() a pozniej wrzucic to w for loop.
tylko za cholere nie wiem, jak wyciagnac to data-inp dla trzech rezultatow
  • Odpowiedz
Na szybkiego coś takiego:
//div[@id='histframe']/ul/li/p[2]

Potem wrzucasz to w listę WebElementów

String xpathexpression =
  • Odpowiedz
@jadupl: topornie, ale działa:) teraz jeszcze jedno, jak te wyniki z println porownac z tymi, co byc powinno i jak to porownac teraz. Wewnatrz tego for?
  • Odpowiedz
Stwórz sobie listę na początku klasy/metody co masz swoj skrypt i dodaj do niej wartości, których oczekujesz, przy kazdym wpisywaniu do kalkulatora.

Cos ala List expected = new ArrayList<>();

I kolejno expected.add(cosco
  • Odpowiedz