import unittest import time from selenium import webdriver class TestRozetkaUa(unittest.TestCase): def setUp(self): self.drv = webdriver.Firefox() #прекондишн для каждого юниттеста self.drv.maximize_window() def test_Rozetka(self): drv = self.drv drv.get("http:/www.rozetka.ua") #открываем страницу menu_count = len(drv.find_elements_by_xpath('//nav[@class="m-main"]//div[@id="fat-menu"]//ul/li[@class="f-menu-l-i"]')) #подсчет пунктов меню for i in range(1, menu_count + 1): time.sleep(5) #таймаут так как implicitly wait почему-то не срабатывает если делаешь возврат на прежнюю страницу value = drv.find_element_by_xpath("//nav[@class='m-main']//div[@id='fat-menu']//ul/li[@class='f-menu-l-i'][" + str(i) + "]/a") txt = value.text # тест из пункта меню drv.get(value.get_attribute('href')) #переход по пункту меню page_title = drv.find_element_by_css_selector('.pab-h1').text #текст из заголовка страница ''' self.assertIn(txt, page_title) Ассерт отключен, так как хотелось циклом пройти по всему меню. и я так понимаю, что надо было отдельно под каждый пункт меню делать отдельный юнит тест. Дабы ассерт красиво срабатывал и юнитТК красиво показывали все ошибки? Я это понимаю, но очень хотелось сделать, чтобы считывало все пункты меню само и само пробегалось, а не отдельно рисовать под каждый. ''' if txt not in page_title: #сравнение тескта из пунтка меню и заголовка самой страницы drv.save_screenshot("D:/Python/screens/" + txt + ".png") print(txt + " is not equal " + page_title) print() drv.execute_script("window.history.go(-1)") def tearDown(self): #посткондишн для каждого юниттеста self.drv.quit() if __name__ == "__main__": unittest.main()
Run
Reset
Share
Import
Link
Embed
Language▼
English
中文
Python Fiddle
Python Cloud IDE
Follow @python_fiddle
Browser Version Not Supported
Due to Python Fiddle's reliance on advanced JavaScript techniques, older browsers might have problems running it correctly. Please download the latest version of your favourite browser.
Chrome 10+
Firefox 4+
Safari 5+
IE 10+
Let me try anyway!
url:
Go
Python Snippet
Stackoverflow Question