import logging import unittest from datetime import date import allure import pytest from ui_automation_framework.core import TestStatus from ui_automation_framework.utils import AppConfig from ui_automation_framework.utils import logger as cl from app.api_client import ApiClient from app.src.pages.login_page import LoginPage from app.src.pages.track_page import TrackPage @pytest.mark.usefixtures("set_up", "one_time_set_up") class DeepLinkingTrackPageTest(unittest.TestCase): log = cl.Logger(logging.DEBUG) @pytest.fixture(autouse=True) def classSetup(self): self.loginPage = LoginPage(self.driver) self.tp = TrackPage(self.driver) self.api_client = ApiClient() self.ts = TestStatus(self.driver) @allure.story("AP-5193") @allure.severity(allure.severity_level.NORMAL) @allure.title("[4913] [YT > New Video Page > Perfomance tab] Export verification. STEPS 1-7") @allure.description("TC verifies that user has possibility to export views data coming from Videos, " "so that I will be able to export data in csv and analyze Videos side using exported file. STEPS 1-7") def test_youtube_nvp_vp_export_steps_1_7(self): self.loginPage.login_with_worker() self.tp.open_youtube_video_page(isrc=AppConfig.get("track40")["isrc"], market=AppConfig.get("market")["us"]["url"]) # step 1 self.tp.verify_nvp_export_button_hover() # step 2-3, 5 self.tp.market_dd_choose_few_countries(param=[AppConfig.get("market")["us"]["name"]], tab="youtube_nvp") self.tp.nvp_vp_verify_file_name_export_date_country(AppConfig.get("track40")["isrc"], "", [AppConfig.get("market")["us"]]) # step 4, 6-7 self.tp.nvp_vp_verify_export( [AppConfig.get("market")["us"]["api"]], AppConfig.get("source")["by_source"], AppConfig.get("track40")["isrc"], ) @allure.story("AP-5193") @allure.severity(allure.severity_level.NORMAL) @allure.title("[4913] [YT > New Video Page > Perfomance tab] Export verification. STEP 8") @allure.description("TC verifies that user has possibility to export views data coming from Videos, " "so that I will be able to export data in csv and analyze Videos side using exported file. STEP 8") def test_youtube_nvp_vp_export_step_8(self): self.loginPage.login_with_worker() self.tp.open_youtube_video_page(isrc=AppConfig.get("track40")["isrc"], market=AppConfig.get("market")["global"]["url"]) # step 8 self.tp.select_previous_mounth_period() self.tp.nvp_youtube_check_videos(2) self.tp.market_dd_choose_few_countries(param=[self.tp.all_markets], tab="youtube_nvp") self.tp.nvp_vp_verify_file_name_export_date_country(AppConfig.get("track40")["isrc"], "", [AppConfig.get("market")["global"]]) self.tp.nvp_vp_verify_export( [AppConfig.get("market")["global"]["api"]], AppConfig.get("source")["by_source"], AppConfig.get("track40")["isrc"], ) @allure.story("AP-5193") @allure.severity(allure.severity_level.NORMAL) @allure.title("[4913] [YT > New Video Page > Perfomance tab] Export verification. STEP 9-10") @allure.description("TC verifies that user has possibility to export views data coming from Videos, " "so that I will be able to export data in csv and analyze Videos side using exported file. STEP 9-10") def test_youtube_nvp_vp_export_step_9_10(self): self.loginPage.login_with_worker() self.tp.open_youtube_video_page(isrc=AppConfig.get("track40")["isrc"], market=AppConfig.get("market")["global"]["url"]) # step 9-10 three_markets = [ AppConfig.get("market")["us"], AppConfig.get("market")["canada"], AppConfig.get("market")["australia"], ] self.tp.market_dd_choose_few_countries(param=[m["name"] for m in three_markets], tab="youtube_nvp") self.tp.nvp_vp_verify_file_name_export_date_country(AppConfig.get("track40")["isrc"], "", three_markets) self.tp.nvp_vp_verify_export([m["market"] for m in three_markets], AppConfig.get("source")["by_source"], AppConfig.get("track40")["isrc"]) @allure.story("AP-5193") @allure.severity(allure.severity_level.NORMAL) @allure.title("[4913] [YT > New Video Page > Perfomance tab] Export verification. STEP 11-12") @allure.description("TC verifies that user has possibility to export views data coming from Videos, " "so that I will be able to export data in csv and analyze Videos side using exported file. STEP 11-12") def test_youtube_nvp_vp_export_step_11_12(self): self.loginPage.login_with_worker() self.tp.open_youtube_video_page(isrc=AppConfig.get("track40")["isrc"], market=AppConfig.get("market")["global"]["url"]) # step 11-12 na_region = [AppConfig.get("market")["us"], AppConfig.get("market")["canada"]] self.tp.stream_and_source_choose_region(param=self.tp.REGION_NORTH_AMERICA, dd="youtube_nvp") self.tp.nvp_vp_verify_file_name_export_date_country(AppConfig.get("track40")["isrc"], "", na_region) self.tp.nvp_vp_verify_export([m["api"] for m in na_region], AppConfig.get("source")["by_source"], AppConfig.get("track40")["isrc"]) @allure.story("AP-5193") @allure.severity(allure.severity_level.NORMAL) @allure.title("[4913] [YT > New Video Page > Perfomance tab] Export verification. STEP 13") @allure.description("TC verifies that user has possibility to export views data coming from Videos, " "so that I will be able to export data in csv and analyze Videos side using exported file. STEP 13") def test_youtube_nvp_vp_export_step_13(self): self.loginPage.login_with_worker() self.tp.open_youtube_video_page(isrc=AppConfig.get("track40")["isrc"], market=AppConfig.get("market")["global"]["url"]) # step 13 today = date.today() self.tp.open_current_url_with_param(f"&str_gr_start_date={today}&str_gr_end_date={today}") self.tp.verify_performance_no_data_displayed() self.tp.verify_export_inactive()