123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- '''
- @File : conftest.py
- @Time : 2024/11/06 16:24:10
- @Author : dulip3ng
- @Version : 1.0
- @Desc : None
- '''
- import pytest
- from playwright.sync_api import expect
- from utils.config import config
- from pages.locator.login_page_locator import LoginPageLocator
- from pages.locator.home_page_locator import HomePageLocator
- from pages.locator.list_page_locator import ListPageLocator
- from pages.locator.filter_page_locator import FilterPageLocator
- from pages.locator.push_page_locator import PushPageLocator
- from pages.locator.head_page_locator import HeadPageLocator
- from pages.locator.body_page_locator import BodyPageLocator
- from pages.locator.generate_bill_page_locator import GenerateBillPageLocator
- from pages.login_page import LoginPage
- from pages.home_page import HomePage
- from pages.head_page import HeadPage
- from pages.body_page import BodyPage
- from pages.list_page import ListPage
- from pages.filter_page import FilterPage
- from pages.push_page import PushPage
- from pages.generate_bill_page import GenerateBillPage
- from utils.oracle_helper import OracleHelper
- expect.set_options(timeout=30000)
- @pytest.fixture(scope="session")
- def orcl_helper():
- db = OracleHelper(username=config.get("db_username"), password=config.get("db_password"), dsn=config.get("dsn"))
- db.connect()
- yield db
- db.disconnect()
- @pytest.fixture(scope="module")
- def page(browser):
- # 为每个测试用例提供一个新的页面实例
- context = browser.new_context(viewport= {"width": 1920, "height": 1080})
- page = context.new_page()
- yield page
- page.close()
- context.close()
- @pytest.fixture(scope="module")
- def login_page(page):
- return LoginPage(page, LoginPageLocator)
- @pytest.fixture(scope="module")
- def home_page(page):
- return HomePage(page, HomePageLocator)
- @pytest.fixture(scope="module")
- def head_page(page):
- return HeadPage(page, HeadPageLocator)
- @pytest.fixture(scope="module")
- def body_page(page):
- return BodyPage(page, BodyPageLocator)
- @pytest.fixture(scope="module")
- def list_page(page):
- return ListPage(page, ListPageLocator)
- @pytest.fixture(scope="module")
- def filter_page(page):
- return FilterPage(page, FilterPageLocator)
- @pytest.fixture(scope="module")
- def push_page(page):
- return PushPage(page, PushPageLocator)
- @pytest.fixture(scope="module")
- def generate_bill_page(page):
- head_page = HeadPage(page, HeadPageLocator)
- body_page = BodyPage(page, BodyPageLocator)
- return GenerateBillPage(page, GenerateBillPageLocator, head_page, body_page)
- @pytest.fixture(scope="module", autouse=True)
- def login(page, login_page, home_page):
- page.goto(config.get("url"))
- login_page.login(config.get("db"), config.get("user_name"), config.get("pass_word"))
|