Как запустить три теста в Python не используя TestSuit

David

Новичок
Пользователь
Май 20, 2020
2
0
1
Всем привет!
У меня есть три класса:
CreateStock (В этом классе реализованы методы для работы со стоками.Этот класс наследник класса Authorization)
Authorization (В этом классе реализованы методы для авторизации)
StartTestStocks (В этом классе будут вызываться методы классов CreateStock и Authorization. И должны запускаться тесты )

Код класса CreateStock

Код:
from selenium import webdriver
import unittest
from webClientAuthorization.Authorization import Authorization

class CreateStock (Authorization):
    def setUp(self):
        self.driver = webdriver.Ie()
        self.driver.get("http://localhost/WebClient/")

    def test_ClickInventoryMenu(self):
        self.driver.find_element_by_id('menu_77').click()

Код класса Authorization

Код:
from selenium import webdriver
import unittest
class Authorization (unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Ie()


    def test_enterLogin(self):
        self.driver.find_element_by_id('loginCon_username').clear()
        self.driver.find_element_by_id('loginCon_username').send_keys('User')

    def test_enterPass(self):
        self.driver.find_element_by_id('loginCon_password').clear()
        self.driver.find_element_by_id('loginCon_password').send_keys('password')

    def test_clickLoginButton(self):
        self.driver.find_element_by_name('loginCon$ct999').click()

    def tearDown(self):
        self.driver.quit()

Код класса StartTestStocks

Код:
import unittest
from Inventory.CreateStock import CreateStock

class StartTestStocks(unittest.TestCase):
    def CreateStockManageInventory(self):
        stock: CreateStock = CreateStock()
        stock.test_enterLogin()
        stock.test_enterPass()
        stock.test_clickLoginButton()
        stock.test_ClickInventoryMenu()

Цель всего этого заключается в том, чтобы можно было в классе StartTestStocks вызывать методы с классов CreateStock и Authorization и формировать уже один общий тест кейс который можно запустить. Но сейчас запускается каждый метод сам по себе и получается браузер открывается три или четыре раза, а хотелось бы один раз.
Кейс подразумевается такой: открывается браузер по урлу, вводится логин и пароль, нажимается кнопка Login, и после логина в систему нажимается таба Inventory.
Проблема мне кажется в инициализации браузера, но пока не пойму как ее решить.

Буду очень благодарен за любую помощь.
 
Последнее редактирование:

David

Новичок
Пользователь
Май 20, 2020
2
0
1
Проблема решена. Было сделаны три метода вместо трех тестов. И потом эти методы уже можно вызывать в одном тесте как удобно.
Методы универсальны и позволяют формировать любые наборы тестов.
Спасибо.
 

Форум IT Специалистов