Wpis z mikrobloga

#selenium #programowanie staram się zautomatyzować test w SELENIUM IDE do webowej aplikacji opartej na ember.js. No i tutaj kłaniają się zmieniające id elementów po odświeżeniu strony, przez co jest problem z ich lokalizowaniem. Macie jakieś porady jak sobie z tym poradzić?

Tak wygląd w HTML pole do wprowadzania loginu (id się zmienia po odświeżeniu strony):

Tutaj ktoś miał podobny problem: http://stackoverflow.com/questions/37026817/automate-ember-js-application-using-selenium-when-object-proerties-are-changed-a
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@szwendacz: Pisałem e2e tylko w protractorze czyli jakiejś nakładce na selenium i to co piszesz brzmi nonsensownie, dlaczego nie możesz wybrać tego elementu po klasach albo dodać jakiegoś stałego wrappera na ten element żeby go wybrać?
  • Odpowiedz
@szwendacz: Da się w IDE po swoich xpathach szukać elementów?
Jeśli tak to:
//input[starts-with(@id, "ember)] - jeśli id zawsze zaczyna się od ember i nie ma innego takiego elementu
Albo:
//input[@placeholder = "login"]
  • Odpowiedz
@venomik: Działa! Pierwsza opcja odpada, bo od ember zaczyna się też pole do wprowadzania hasła, ale poszło z drugą opcją i myślę, że to będzie miarodajne :) dzięki wielkie! Poczytam sobie o tych swoich xpathach.
  • Odpowiedz
@szwendacz: Polecam, xpath pozwala łatwo lokować dowolne elementy.
I przyda Ci się jeśli będziesz chciał w przyszłości coś sensownie automatyzować, nie w Selenium IDE ;)
  • Odpowiedz