Форум сайта python.su
пытаюсь сделать автотесты используя Page objects. сайт https://www.abw.by
header.py включает функции и локаторы
test_header.py собственно тесты
тест такой:
def test_search(self): """test search""" header_obj = header.Header(self.driver) #open search form assert header_obj.click_search(), "search form is unavailable" #try to search by keyword having not empty results header_obj.run_search('renault') #check search found specific article assert (header_obj.search_results_general() != "true") , 'nothing found, expected several news in results'
self.search_class = 'icon-search' self.search_field = '//div[@class="header-search-block js-search-tabs open-search-block"]//' \ 'input[@placeholder="Введите текст для поиска"]' self.run_search = 'input[placeholder="Введите текст для поиска"]' self.search_res_empty = 'search-page-result__not-found'
def click_search(self): # click magnifier icon self.driver.find_element_by_class_name(self.search_class).click() return self.driver.find_element_by_xpath(self.search_field) def run_search(self, keyword): search_field = self.driver.find_element_by_css_selector(self.search_field) search_field.clear() search_field.send_keys(keyword) search_field.send_keys(Keys.ENTER) def search_results_general(self): return self.driver.find_element_by_class_name(self.search_res_empty)
File "D:\git\Site_AT\test_header.py", line 52, in test_search header_obj.run_search() TypeError: 'str' object is not callable
Офлайн
У вас видимо банальный конфликт имен
self.run_search def run_search(self, keyword):
Офлайн
точно!
спасибо
Офлайн