Forum Testowania i AutomatyzacjiKategoria: PytanieProblem z asercja przy specyficznym xpath: '//*[@class="list-unstyled"]// *[text()="Singin\' in the Rain"]'
AvatarŁukasz Błaszkowski zapytał 5 lat temu

Siemka,
mam teraz problem z ‘//*[@class=”list-unstyled”]// *[text()=”Singin\’ in the Rain”]’ pezy assercja.
opcja 1
tu jest screen z kodu:

View post on imgur.com


opcja 2
tu jest screen z kodu:

View post on imgur.com


tu jest screen z strony:

View post on imgur.com


 
kod do repo:
https://github.com/lblaszkowski/RunningTestsOnSeveralBrowsers

1 odpowiedzi
Best Answer
Krzysiek KijasKrzysiek Kijas Personel odpowiedział 5 lat temu

Hej,
W tym przypadku, na stronie utworu można użyć uproszczonego wyrażenia XPath w postaci '//*[@class="centersmall"]'. W przypadku '//*[@class="list-unstyled"]// *[text()="Singin\' in the Rain"]' szukaliśmy elementu po tekście, który następnie poddawaliśmy asercji… więc de facto sprawdzaliśmy tekst dwukrotnie 😉

W całości końcówka mogłaby wyglądać w taki sposób:

print(self.driver.find_element_by_xpath('//*[@class="centersmall"]').text)
assert self.driver.find_element_by_xpath('//*[@class="centersmall"]').text == "Singin' in the Rain (1952)"

Albo taki, gdybyśmy szukali elementu po nazwie klasy:

assert self.driver.find_element_by_class_name('centersmall').text == "Singin' in the Rain (1952)"

Pozdrawiam,

AvatarŁukasz Błaszkowski odpowiedział 5 lat temu

ok. działa dzięki za pomoc