import allure import pytest from assertpy import assert_that @pytest.mark.usefixtures("app") class TestTrackPagePngExportGraphNames: spotify = "Spotify" apple = "Apple Music" amazon = "Amazon" all_streams = "All Streams" by_dsp = "By DSP" tiktok = "TikTok" youtube = "YouTube" all_views = "All Views" by_video = "By Video" by_source = "By Source" lf_lb = "Lean Fwd / Back" by_likes = "By Likes" by_dislikes = "By Dislikes" by_comments = "By Comments" by_shares = "By Shares" @allure.title("[AP-10508][Track Performance] Graph export names verification. STEPS 1-2") @allure.description("""TC Verifies: Export screenshot files names on Track Page → Performance section → Streams and Sources tab By Markets tab YouTube tab TikTok tab. STEPS 1-2""") @allure.testcase("https://data-analytics.atlassian.net/browse/AP-10742") def test_track_page_performance_export_png_names_verification_steps_1_2(self): self.login_page.login() self.app.go_to(self.track_page_header.url.format("spotify", "4LRPiXqCikLlN15c3yImP7", "14")) track_title_png = self.track_page_header.get_track_title_png() # step 1 self.track_page_header.sas_tab.click() self.track_page_header.sas_tab.is_selected() self.tp_sas_tab.choose_dsp(self.spotify) png_screenshot = self.tp_sas_tab.download_png() assert_that(png_screenshot.suggested_filename).is_equal_to(f"{track_title_png}_{self.spotify}.png") # step 2 self.tp_sas_tab.choose_dsp(self.apple) png_screenshot = self.tp_sas_tab.download_png() assert_that(png_screenshot.suggested_filename)\ .is_equal_to(f"""{track_title_png}_{self.apple.replace(" ", "-")}.png""") self.tp_sas_tab.choose_dsp(self.amazon) png_screenshot = self.tp_sas_tab.download_png() assert_that(png_screenshot.suggested_filename).is_equal_to(f"{track_title_png}_{self.amazon}.png") self.tp_sas_tab.choose_dsp(self.all_streams) png_screenshot = self.tp_sas_tab.download_png() assert_that(png_screenshot.suggested_filename)\ .is_equal_to(f"""{track_title_png}_{self.all_streams.replace(" ", "-")}.png""") self.tp_sas_tab.choose_dsp(self.by_dsp) png_screenshot = self.tp_sas_tab.download_png() assert_that(png_screenshot.suggested_filename)\ .is_equal_to(f"""{track_title_png}_{self.by_dsp.replace(" ", "-")}.png""") @allure.title("[AP-10508][Track Performance] Graph export names verification. STEP 3") @allure.description("""TC Verifies: Export screenshot files names on Track Page → Performance section → Streams and Sources tab By Markets tab YouTube tab TikTok tab. STEP 3""") @allure.testcase("https://data-analytics.atlassian.net/browse/AP-10742") def test_track_page_performance_export_png_names_verification_step_3(self): self.login_page.login() self.app.go_to(self.track_page_header.url.format("spotify", "4LRPiXqCikLlN15c3yImP7", "14")) track_title_png = self.track_page_header.get_track_title_png() # step 3 self.track_page_header.by_markets_tab.click() self.track_page_header.by_markets_tab.is_selected() self.tp_by_markets_tab.choose_dsp(self.spotify) png_screenshot = self.tp_by_markets_tab.download_png() assert_that(png_screenshot.suggested_filename).is_equal_to(f"{track_title_png}_{self.spotify}.png") self.tp_by_markets_tab.choose_dsp(self.apple) png_screenshot = self.tp_by_markets_tab.download_png() assert_that(png_screenshot.suggested_filename)\ .is_equal_to(f"""{track_title_png}_{self.apple.replace(" ", "-")}.png""") self.tp_by_markets_tab.choose_dsp(self.amazon) png_screenshot = self.tp_by_markets_tab.download_png() assert_that(png_screenshot.suggested_filename) \ .is_equal_to(f"""{track_title_png}_{self.amazon}.png""") self.tp_by_markets_tab.choose_dsp(self.all_streams) png_screenshot = self.tp_by_markets_tab.download_png() assert_that(png_screenshot.suggested_filename) \ .is_equal_to(f"""{track_title_png}_{self.all_streams.replace(" ", "-")}.png""") self.tp_by_markets_tab.choose_dsp(self.tiktok) png_screenshot = self.tp_by_markets_tab.download_png() assert_that(png_screenshot.suggested_filename) \ .is_equal_to(f"""{track_title_png}_{self.tiktok}.png""") @allure.title("[AP-10508][Track Performance] Graph export names verification. STEP 4") @allure.description("""TC Verifies: Export screenshot files names on Track Page → Performance section → Streams and Sources tab By Markets tab YouTube tab TikTok tab. STEP 4""") @allure.testcase("https://data-analytics.atlassian.net/browse/AP-10742") def test_track_page_performance_export_png_names_verification_step_4(self): self.login_page.login() self.app.go_to(self.track_page_header.url.format("spotify", "4LRPiXqCikLlN15c3yImP7", "14")) track_title_png = self.track_page_header.get_track_title_png() youtube_png_name = f"{track_title_png}_{self.youtube}.png" # step 4 self.track_page_header.youtube_tab.click() self.track_page_header.youtube_tab.is_selected() self.tp_youtube_tab.choose_by_source(self.all_views) png_screenshot = self.tp_youtube_tab.download_png() assert_that(png_screenshot.suggested_filename).is_equal_to(youtube_png_name) self.tp_youtube_tab.choose_by_source(self.by_video) png_screenshot = self.tp_youtube_tab.download_png() assert_that(png_screenshot.suggested_filename).is_equal_to(youtube_png_name) self.tp_youtube_tab.choose_by_source(self.by_source) png_screenshot = self.tp_youtube_tab.download_png() assert_that(png_screenshot.suggested_filename).is_equal_to(youtube_png_name) self.tp_youtube_tab.choose_by_source(self.lf_lb) png_screenshot = self.tp_youtube_tab.download_png() assert_that(png_screenshot.suggested_filename).is_equal_to(youtube_png_name) self.tp_youtube_tab.choose_by_source(self.by_likes) png_screenshot = self.tp_youtube_tab.download_png() assert_that(png_screenshot.suggested_filename).is_equal_to(youtube_png_name) self.tp_youtube_tab.choose_by_source(self.by_dislikes) png_screenshot = self.tp_youtube_tab.download_png() assert_that(png_screenshot.suggested_filename).is_equal_to(youtube_png_name) self.tp_youtube_tab.choose_by_source(self.by_comments) png_screenshot = self.tp_youtube_tab.download_png() assert_that(png_screenshot.suggested_filename).is_equal_to(youtube_png_name) self.tp_youtube_tab.choose_by_source(self.by_shares) png_screenshot = self.tp_youtube_tab.download_png() assert_that(png_screenshot.suggested_filename).is_equal_to(youtube_png_name) @allure.title("[AP-10508][Track Performance] Graph export names verification. STEP 5") @allure.description("""TC Verifies: Export screenshot files names on Track Page → Performance section → Streams and Sources tab By Markets tab YouTube tab TikTok tab. STEP 5""") @allure.testcase("https://data-analytics.atlassian.net/browse/AP-10742") def test_track_page_performance_export_png_names_verification_step_5(self): self.login_page.login() self.app.go_to(self.track_page_header.url.format("spotify", "4LRPiXqCikLlN15c3yImP7", "14")) track_title_png = self.track_page_header.get_track_title_png() tiktok_png_name = f"{track_title_png}_{self.tiktok}.png" # step 5 self.track_page_header.tiktok_tab.click() self.track_page_header.tiktok_tab.is_selected() self.tp_tiktok_tab.choose_content("All Contents") self.tp_tiktok_tab.choose_metric("By Creations") png_screenshot = self.tp_youtube_tab.download_png() assert_that(png_screenshot.suggested_filename).is_equal_to(tiktok_png_name) self.tp_tiktok_tab.choose_content("By UGC/PGC") self.tp_tiktok_tab.choose_metric("By Creations") png_screenshot = self.tp_youtube_tab.download_png() assert_that(png_screenshot.suggested_filename).is_equal_to(tiktok_png_name) self.tp_tiktok_tab.choose_content("All Contents") self.tp_tiktok_tab.choose_metric("By Views") png_screenshot = self.tp_youtube_tab.download_png() assert_that(png_screenshot.suggested_filename).is_equal_to(tiktok_png_name) self.tp_tiktok_tab.choose_content("By UGC/PGC") self.tp_tiktok_tab.choose_metric("By Views") png_screenshot = self.tp_youtube_tab.download_png() assert_that(png_screenshot.suggested_filename).is_equal_to(tiktok_png_name)