import json import unittest from argparse import Namespace import allure import pytest from ui_automation_framework.core import TestStatus from ui_automation_framework.utils import AppConfig from app.src.pages.amazon_playlist_page import AmazonPlaylistPage 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 ApplePlaylistPageTest(unittest.TestCase): playlist34 = json.loads(json.dumps(AppConfig.get("playlist34")), object_hook=lambda d: Namespace(**d)) us = json.loads(json.dumps(AppConfig.get("market")["us"]), object_hook=lambda d: Namespace(**d)) @pytest.fixture(autouse=True) def classSetup(self): self.loginPage = LoginPage(self.driver) self.amazon_playlist = AmazonPlaylistPage(self.driver) self.trackPage = TrackPage(self.driver) self.ts = TestStatus(self.driver) @allure.story("AP-8326") @allure.severity(allure.severity_level.NORMAL) @allure.title("[AP-8027][Amazon Playlist] Page view and states") @allure.description("TC verifies Amazon Playlist page view and general states.") def test_amazon_views_and_states_verification(self): self.loginPage.login_with_worker() self.trackPage.select_market(self.us.name) # step 1 self.amazon_playlist.open_amazon_playlist_page(self.playlist34.amazon_id) # step 3-5 self.amazon_playlist.verify_elements() # step 6-7 self.amazon_playlist.verify_icon_time(self.playlist34.amazon_id, self.us.market) # NOT AUTOMATED STEP - 2, 8-10