# 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 app.api_client import ApiClient # from app.src.pages.album_page import AlbumPage # from app.src.pages.apple_playlist_page import ApplePlaylistPage # from app.src.pages.comparison_page import TrackComparisonPage # from app.src.pages.left_navigation_panel import LeftNavigationPanel # 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): # date_range = "&str_gr_start_date=2021-01-15&str_gr_end_date=2021-01-16" # # @pytest.fixture(autouse=True) # def classSetup(self): # self.loginPage = LoginPage(self.driver) # self.tp = TrackPage(self.driver) # self.ap = AlbumPage(self.driver) # self.app = ApplePlaylistPage(self.driver) # self.cp = TrackComparisonPage(self.driver) # self.leftPanel = LeftNavigationPanel(self.driver) # self.api_client = ApiClient() # self.ts = TestStatus(self.driver) # # @allure.story("AP-4964") # @allure.severity(allure.severity_level.NORMAL) # @allure.title( # "[4797] [Track page > Charts tab] Deep Linking verification after unioning 'Charts' and 'Charts (beta)' tabs." # ) # @allure.description( # """TC verifies that URLs will include correct deep linking parameters after consolidating Charts and Charts (beta) tabs # view from a single tab.""" # ) # def test_charts_and_charts_beta_after_reunion(self): # self.loginPage.login_with_worker() # for d in [("spotify", AppConfig.get("track44")["id"]), ("apple", AppConfig.get("track44")["apple_id"])]: # self.tp.open_track_page(apple_spotify=d[0], track_id=d[1], market=AppConfig.get("market")["global"]["url"]) # base_url = self.tp.get_url() # # step 4 # self.tp.td_switch_to_charts_tab() # self.tp.verify_params_in_url({self.tp.tr_det_tab: 3}) # self.tp.verify_params_not_in_url([self.tp.tr_det_charts, self.tp.tr_det_charts_dsp]) # # step 5 # self.tp.track_details_switch_to_charts_sub_tab() # self.tp.verify_params_in_url({self.tp.tr_det_charts: 1}) # self.tp.verify_params_not_in_url([self.tp.tr_det_charts_dsp]) # # step 6 # self.tp.td_charts_select_dsp(self.tp.CHARTS_SPOTIFY_WEEKLY) # self.tp.verify_params_in_url({self.tp.tr_det_charts_dsp: 2}) # # step 7 # self.tp.td_charts_select_dsp(self.tp.CHARTS_APPLE_MUSIC_DAILY) # self.tp.verify_params_in_url({self.tp.tr_det_charts_dsp: 3}) # # step 8 # self.tp.td_charts_select_dsp(self.tp.CHARTS_COMBINED_DAILY) # self.tp.verify_params_in_url({self.tp.tr_det_charts_dsp: 4}) # # step 9 # self.tp.td_charts_select_dsp(self.tp.CHARTS_SPOTIFY_DAILY) # self.tp.verify_params_in_url({self.tp.tr_det_charts_dsp: 1}) # # step 10 # self.tp.td_switch_to_charts_beta_sub_tab() # self.tp.verify_params_in_url({self.tp.tr_det_charts: 2}) # self.tp.verify_params_not_in_url([self.tp.tr_det_charts_dsp]) # # step 11 # self.tp.td_charts_beta_select_dsp(AppConfig.get("dsp")["apple"]) # self.tp.verify_params_in_url({self.tp.tr_det_charts: 2, self.tp.tr_det_chart_beta_dsp: 2}) # # step 12 # self.tp.td_charts_beta_select_dsp(AppConfig.get("dsp")["spotify"]) # self.tp.verify_params_in_url({self.tp.tr_det_charts: 2, self.tp.tr_det_chart_beta_dsp: 1}) # # step 13 # open_url = self.tp.get_url().replace( # f"{self.tp.tr_det_chart_beta_dsp}=1", f"{self.tp.tr_det_chart_beta_dsp}=2" # ) # self.tp.open_url(open_url) # old_tab_url = self.tp.get_url() # self.tp.track_details_charts_beta_verify_dsp(AppConfig.get("dsp")["apple"]) # # step 14 # open_url = self.tp.get_url().replace( # f"{self.tp.tr_det_chart_beta_dsp}=2", f"{self.tp.tr_det_chart_beta_dsp}=3" # ) # self.tp.open_url(open_url) # self.tp.wait_for_stream_performance_graph_visible() # url_after = self.tp.get_url() # assert_that(base_url).is_equal_to(url_after) # # step 15 # self.tp.td_switch_to_charts_tab() # self.tp.track_details_switch_to_charts_sub_tab() # self.tp.td_charts_select_dsp(self.tp.CHARTS_COMBINED_DAILY) # incorrect_url = self.tp.get_url().replace( # f"{self.tp.tr_det_charts_dsp}=4", f"{self.tp.tr_det_charts_dsp}=5" # ) # self.tp.open_url(incorrect_url) # self.tp.wait_for_stream_performance_graph_visible() # url_after = self.tp.get_url() # assert_that(base_url).is_equal_to(url_after) # # step 16 # self.cp.open_new_tab() # self.cp.switch_to_tab(2) # self.cp.open_url(old_tab_url) # self.tp.track_details_charts_beta_verify_dsp(AppConfig.get("dsp")["apple"]) # url_new_tab = self.cp.get_url() # assert_that(old_tab_url).is_equal_to(url_new_tab) # self.cp.close_current_tab() # self.cp.switch_to_tab(1) # # # NOT AUTOMATED 1, 2, 3