import unittest import allure import pytest from parameterized import parameterized from ui_automation_framework.core import TestStatus from ui_automation_framework.utils import AppConfig from app.api_client import ApiClient from app.src.pages.global_track_priorities_page import GlobalTrackPrioritiesPage from app.src.pages.login_page import LoginPage from app.src.pages.track_page import TrackPage from app.src.pages.tt_dashboard_page import TTDashboardPage from app.src.pages.tt_dashboard_pot_popup import TTDashboardPOTPopup @pytest.mark.usefixtures("set_up", "one_time_set_up") class TTDashboardPageTest(unittest.TestCase): @pytest.fixture(autouse=True) def classSetup(self): self.loginPage = LoginPage(self.driver) self.tt_dashboard = TTDashboardPage(self.driver) self.trackPage = TrackPage(self.driver) self.tt_dashboard_potp = TTDashboardPOTPopup(self.driver) self.gtp = GlobalTrackPrioritiesPage(self.driver) self.api_client = ApiClient() self.ts = TestStatus(self.driver) @parameterized.expand( [ ("daily", "by-creations-change", AppConfig.get("market")["us"]["name"], False), ("daily", "by-creations-change", AppConfig.get("market")["global"]["name"], True), ("daily", "by-creations", AppConfig.get("market")["us"]["name"], False), ("daily", "by-creations", AppConfig.get("market")["global"]["name"], True), ("7days", "by-creations-change", AppConfig.get("market")["us"]["name"], False), ("7days", "by-creations-change", AppConfig.get("market")["global"]["name"], True), ("7days", "by-creations", AppConfig.get("market")["us"]["name"], False), ("7days", "by-creations", AppConfig.get("market")["global"]["name"], True), ] ) @allure.story("AP-7330") @allure.severity(allure.severity_level.NORMAL) @allure.title("[AP-6928] TikTok Dashboard. Popup - Position over Time. Export") @allure.description("TC verifies that users can export the data from TikTok Dashboard Position over Time popup.") def test_tt_dashboard_potp_export_verification(self, view, tab, tt_market, default_period): self.loginPage.login_with_worker() self.trackPage.select_market(AppConfig.get("market")["us"]["name"]) self.tt_dashboard.open() self.tt_dashboard.select_tab(tab) self.tt_dashboard.select_view(view) self.tt_dashboard.change_market(tt_market) self.tt_dashboard.change_date_to_previous() # steps 2-3 self.tt_dashboard.click_on_column(self.tt_dashboard.column_days_on_list) self.tt_dashboard_potp.open() self.tt_dashboard_potp.verify_export_button_and_hover() # steps 4-8, 10, 12-13 self.tt_dashboard_potp.verify_export_data(tt_market, default_period) # NOT AUTOMATED STEPS - 1, 9, 11