среда, 2 июня 2021 г.

Как посчитать количество одинаковых элементов на странице (с одинаковым локатором)

 Например, нужно проверить сколько товаров в корзине.

Предположим, ожидаемое количество товаров в корзине - 3. Для этого надо посчитать сколько контейнеров для товаров отображается на странице.  






Сам тест:

def test_user_should_see_three_books_in_cart(driver):
    ...
    assert cart_page.is_books_amount_correct(3), /
        "The user has incorrect number of books in the cart."



В cart_page.py:

class CardPage(BasePage):

def __init__(self, driver):
super(BasePage, self).__init__()
self.driver = driver
assert self.is_page_displayed()

def is_page_displayed(self):
element = HtmlElement(self.driver, self.element_locator)
return element.is_element_visible()

def is_books_amount_correct(self, expected_amount):
actual_amount = len(self.driver.find_elements_by_xpath(
'//div[contains(@class, "book-item") and not(contains(@class, "some-special-class"))]'))
return actual_amount == expected_amount


not(contains(@class, "some-special-class") 
Используем, если нужно исключить какой-то класс (например, книги для взрослых)

Комментариев нет:

Отправить комментарий

Самые полезные ФУНКЦИИ Пайтона

 1)  PRINT - выводит на печать переменную, указанную в скобках print (average)   2)  LEN - посчитать количество элементов в списке student...