Я учусь писать автоматические тесты с использованием Selenium WebDriver с Python. У меня есть пара тестов в классе WidgetArea
, я хотел бы запустить их все в одном экземпляре Firefox, я знаю, что мне нужно указать и tearDown
как @classmethod
, но я не знаю, что еще я должен изменить для достижения этой цели? Код можно найти ниже:Как запустить несколько тестов с одним экземпляром Firefox, Selenium WebDriver с Python?
import unittest
from selenium import webdriver
class WidgetArea(unittest.TestCase):
@classmethod
def setUp(cls):
# create new firefox session
cls.driver = webdriver.Firefox()
cls.driver.implicitly_wait(30)
cls.driver.maximize_window()
# navigate to aplication page
cls.driver.get("http://demoqa.com/")
cls.driver.title
def test_widget_area(self):
elements = self.driver.find_elements_by_xpath("//div[@id='secondary']/aside")
self.assertEqual(4, len(elements))
def test_widget_list(self):
elements = self.driver.find_elements_by_xpath("//ul[@id='menu-widget']/li")
self.assertEqual(7, len(elements))
def test_interaction(self):
elements = self.driver.find_elements_by_xpath("//ul[@id='menu-interactions']/li")
self.assertEqual(5, len(elements))
@classmethod
def tearDown(cls):
cls.driver.quit()
if __name__ == '__main__':
unittest.main
Не обязательно выполнять автоматические тесты с использованием 'selenium' как' unittests'. Вы можете создать свой собственный фреймворк и настроить его так же, как вы хотите – Andersson
Спасибо, я новичок в автоматических тестах в целом и alos на языках ООП, поэтому мне нравится начинать с чего-то легкого для начала, а unittest швов - хороший выбор , Я думаю, что я далека от того, что начинаю писать свои собственные автоматические рамки, насколько мне известно :) – vertigo448
@ Andersson do Вы знаете ответ на мой вопрос? Я как бы застрял в стене с этим:/thanks – vertigo448