import logging import random import unittest import allure import pytest from assertpy import assert_that 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-6984") @allure.severity(allure.severity_level.NORMAL) @allure.title("[AP-6974] FP -> Views by Markets] Side bar -> Views tile calculations") @allure.description( """TC verifies that the data shown on the side panel on the Video page->Views by Markets is calculated accurately in accordance with the set filters.""" ) def test_youtube_nvp_vbm_side_panel_calculations(self): self.loginPage.login_with_worker() track = random.choice(["track49", "track6"]) self.tp.select_market(AppConfig.get("market")["global"]["name"]) self.tp.open_youtube_video_page(isrc=AppConfig.get(track)["isrc"], market=AppConfig.get("market")["global"]["url"]) # step 1 sidebar_views_vp = self.tp.nvp_youtube_get_sidebar_values_ui()[0] self.tp.youtube_switch_to_views_by_market_tab() sidebar_views_vbm_global = self.tp.nvp_youtube_get_sidebar_values_ui()[0] assert_that(sidebar_views_vp).is_equal_to(sidebar_views_vbm_global) # step 2 self.tp.youtube_change_sources(param=["Key Sources"], dd="vbm") sidebar_views_vbm = self.tp.nvp_youtube_get_sidebar_values_ui()[0] assert_that(sidebar_views_vp).is_equal_to(sidebar_views_vbm) # step 3 for region in ["Sony Offices", self.tp.REGION_EUROPE]: self.tp.stream_and_source_choose_region(param=region, dd="youtube_vbm") sidebar_views_vbm = self.tp.nvp_youtube_get_sidebar_values_ui()[0] assert_that(sidebar_views_vp).is_equal_to(sidebar_views_vbm) self.tp.market_dd_choose_few_countries(param=[AppConfig.get("market")["canada"]["name"]], tab="youtube_vbm") sidebar_views_vbm = self.tp.nvp_youtube_get_sidebar_values_ui()[0] assert_that(sidebar_views_vp).is_equal_to(sidebar_views_vbm) self.tp.market_dd_choose_few_countries(param=[self.tp.all_markets], tab="youtube_vbm") sidebar_views_vbm = self.tp.nvp_youtube_get_sidebar_values_ui()[0] assert_that(sidebar_views_vp).is_equal_to(sidebar_views_vbm) # step 4 self.tp.verify_sidebar_values(isrc=AppConfig.get(track)["isrc"], markets=["worldwide"]) # step 5 self.tp.stream_and_source_choose_region(param=self.tp.top_markets, dd="youtube_vbm") top_markets = self.tp.youtube_nvp_views_by_markets_get_markets() sidebar_views_vbm = self.tp.nvp_youtube_get_sidebar_values_ui()[0] assert_that(sidebar_views_vp).is_equal_to(sidebar_views_vbm) self.tp.verify_sidebar_values(isrc=AppConfig.get(track)["isrc"], markets=top_markets) # step 6 # ex-US Only self.tp.stream_and_source_choose_region(param=self.tp.REGION_EX_US, dd="youtube_vbm") self.tp.verify_sidebar_values(isrc=AppConfig.get(track)["isrc"], markets=AppConfig.get("regions")["ex_us"]["api"]) # africa self.tp.stream_and_source_choose_region(param=self.tp.REGION_AFRICA, dd="youtube_vbm") self.tp.verify_sidebar_values(isrc=AppConfig.get(track)["isrc"], markets=AppConfig.get("regions")["africa"]["api"]) # asia self.tp.stream_and_source_choose_region(param=self.tp.REGION_ASIA, dd="youtube_vbm") self.tp.verify_sidebar_values(isrc=AppConfig.get(track)["isrc"], markets=AppConfig.get("regions")["asia"]["api"]) # cis self.tp.stream_and_source_choose_region(param=self.tp.REGION_CIS, dd="youtube_vbm") self.tp.verify_sidebar_values(isrc=AppConfig.get(track)["isrc"], markets=AppConfig.get("regions")["cis"]["api"]) # europe self.tp.stream_and_source_choose_region(param=self.tp.REGION_EUROPE, dd="youtube_vbm") self.tp.verify_sidebar_values(isrc=AppConfig.get(track)["isrc"], markets=AppConfig.get("regions")["europe"]["api"]) # latin-iberia self.tp.stream_and_source_choose_region(param=self.tp.REGION_LATIN_IBERIA, dd="youtube_vbm") self.tp.verify_sidebar_values(isrc=AppConfig.get(track)["isrc"], markets=AppConfig.get("regions")["latin_iberia"]["api"]) # middle east self.tp.stream_and_source_choose_region(param=self.tp.REGION_MIDDLE_EAST, dd="youtube_vbm") self.tp.verify_sidebar_values(isrc=AppConfig.get(track)["isrc"], markets=AppConfig.get("regions")["middle_east"]["api"]) # north america self.tp.stream_and_source_choose_region(param=self.tp.REGION_NORTH_AMERICA, dd="youtube_vbm") self.tp.verify_sidebar_values(isrc=AppConfig.get(track)["isrc"], markets=AppConfig.get("regions")["north_america"]["api"]) # oceania self.tp.stream_and_source_choose_region(param=self.tp.REGION_OCEANIA, dd="youtube_vbm") self.tp.verify_sidebar_values(isrc=AppConfig.get(track)["isrc"], markets=AppConfig.get("regions")["oceania"]["api"]) # uk self.tp.stream_and_source_choose_region(param=self.tp.REGION_UK, dd="youtube_vbm") self.tp.verify_sidebar_values(isrc=AppConfig.get(track)["isrc"], markets=AppConfig.get("regions")["uk"]["api"]) # step 7 self.tp.market_dd_choose_few_countries(param=[AppConfig.get("market")["us"]["name"]], tab="youtube_vbm") self.tp.verify_sidebar_values(isrc=AppConfig.get(track)["isrc"], markets=[AppConfig.get("market")["us"]["api"]]) # step 8 self.tp.refresh() base_url = self.tp.get_url() self.tp.open_url(f"{base_url}&str_gr_start_date=2021-10-01&str_gr_end_date=2021-10-03") self.tp.verify_sidebar_values(isrc=AppConfig.get(track)["isrc"], markets=[AppConfig.get("market")["us"]["api"]]) # step 9 self.tp.stream_and_source_choose_region(param=self.tp.top_markets, dd="youtube_vbm") top_markets = self.tp.youtube_nvp_views_by_markets_get_markets() self.tp.verify_sidebar_values(isrc=AppConfig.get(track)["isrc"], markets=top_markets) # step 10 self.tp.stream_and_source_choose_region(param=self.tp.REGION_OCEANIA, dd="youtube_vbm") self.tp.verify_sidebar_values(isrc=AppConfig.get(track)["isrc"], markets=AppConfig.get("regions")["oceania"]["api"]) # step 11 self.tp.market_dd_choose_few_countries(param=[AppConfig.get("market")["canada"]["name"]], tab="youtube_vbm") self.tp.verify_sidebar_values(isrc=AppConfig.get(track)["isrc"], markets=[AppConfig.get("market")["canada"]["api"]]) # step 12 self.tp.select_market(AppConfig.get("market")["us"]["name"]) self.tp.youtube_switch_to_views_by_market_tab() sidebar_views_vbm = self.tp.nvp_youtube_get_sidebar_values_ui()[0] assert_that(sidebar_views_vbm).is_equal_to(sidebar_views_vbm_global) # step 13 self.tp.choose_graph_view_bar_chart() sidebar_views_vbm = self.tp.nvp_youtube_get_sidebar_values_ui()[0] assert_that(sidebar_views_vbm).is_equal_to(sidebar_views_vbm_global) # step 14 self.tp.nvp_youtube_check_videos(count=1) top_markets = self.tp.youtube_nvp_views_by_markets_get_markets() self.tp.verify_sidebar_values(isrc=AppConfig.get(track)["isrc"], markets=top_markets) # step 15 self.tp.nvp_youtube_check_videos(count=2) top_markets = self.tp.youtube_nvp_views_by_markets_get_markets() self.tp.verify_sidebar_values(isrc=AppConfig.get(track)["isrc"], markets=top_markets)