添加allure标注
This commit is contained in:
@@ -2,6 +2,7 @@ from pathlib import Path
|
|||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
import allure
|
||||||
import pytest
|
import pytest
|
||||||
from playwright.sync_api import expect
|
from playwright.sync_api import expect
|
||||||
|
|
||||||
@@ -15,6 +16,9 @@ from utils.logger import get_logger
|
|||||||
logger = get_logger(__name__)
|
logger = get_logger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("App下载")
|
||||||
|
@allure.story("下载页内容")
|
||||||
|
@allure.title("校验 App 下载页核心内容和下载入口可见")
|
||||||
def test_app_page_key_content_and_download_links_visible(page):
|
def test_app_page_key_content_and_download_links_visible(page):
|
||||||
logger.info("使用 pytest-playwright 统一无头浏览器配置")
|
logger.info("使用 pytest-playwright 统一无头浏览器配置")
|
||||||
|
|
||||||
@@ -39,6 +43,9 @@ def test_app_page_key_content_and_download_links_visible(page):
|
|||||||
assert href is not None
|
assert href is not None
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("App下载")
|
||||||
|
@allure.story("下载说明")
|
||||||
|
@allure.title("校验 App 下载页 How to Download APK 按钮可见")
|
||||||
def test_app_page_how_to_download_apk_button_visible(page):
|
def test_app_page_how_to_download_apk_button_visible(page):
|
||||||
logger.info("使用 pytest-playwright 统一无头浏览器配置")
|
logger.info("使用 pytest-playwright 统一无头浏览器配置")
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ from pathlib import Path
|
|||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
import allure
|
||||||
import pytest
|
import pytest
|
||||||
from playwright.sync_api import expect
|
from playwright.sync_api import expect
|
||||||
|
|
||||||
@@ -15,6 +16,9 @@ from utils.logger import get_logger
|
|||||||
logger = get_logger(__name__)
|
logger = get_logger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("App下载")
|
||||||
|
@allure.story("Google Play 跳转")
|
||||||
|
@allure.title("点击 Download the App 后校验 Google Play 链接并返回 App 页面")
|
||||||
def test_click_download_the_app_then_google_play_return_app_wait_and_close_browser(page, ensure_guest_user):
|
def test_click_download_the_app_then_google_play_return_app_wait_and_close_browser(page, ensure_guest_user):
|
||||||
logger.info("使用 pytest-playwright 统一无头浏览器配置")
|
logger.info("使用 pytest-playwright 统一无头浏览器配置")
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ from pathlib import Path
|
|||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
import allure
|
||||||
import pytest
|
import pytest
|
||||||
from playwright.sync_api import expect
|
from playwright.sync_api import expect
|
||||||
|
|
||||||
@@ -15,6 +16,9 @@ from utils.logger import get_logger
|
|||||||
logger = get_logger(__name__)
|
logger = get_logger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("FAQ")
|
||||||
|
@allure.story("FAQ页面内容")
|
||||||
|
@allure.title("校验 FAQ 页面核心内容和分类链接可见")
|
||||||
def test_faq_page_key_content_visible(page):
|
def test_faq_page_key_content_visible(page):
|
||||||
logger.info("使用 pytest-playwright 统一无头浏览器配置")
|
logger.info("使用 pytest-playwright 统一无头浏览器配置")
|
||||||
|
|
||||||
@@ -31,6 +35,9 @@ def test_faq_page_key_content_visible(page):
|
|||||||
assert faq_links.count() > 0
|
assert faq_links.count() > 0
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("FAQ")
|
||||||
|
@allure.story("FAQ分类详情")
|
||||||
|
@allure.title("校验 FAQ 分类详情链接可见且地址格式正确")
|
||||||
def test_faq_category_detail_link_visible(page):
|
def test_faq_category_detail_link_visible(page):
|
||||||
logger.info("使用 pytest-playwright 统一无头浏览器配置")
|
logger.info("使用 pytest-playwright 统一无头浏览器配置")
|
||||||
|
|
||||||
@@ -47,6 +54,9 @@ def test_faq_category_detail_link_visible(page):
|
|||||||
assert re.match(r"/faq/\d+(\?.*)?$", faq_detail_href)
|
assert re.match(r"/faq/\d+(\?.*)?$", faq_detail_href)
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("FAQ")
|
||||||
|
@allure.story("提交问题")
|
||||||
|
@allure.title("游客提交 FAQ 问题表单成功")
|
||||||
def test_faq_submit_question_form_success(page, ensure_guest_user):
|
def test_faq_submit_question_form_success(page, ensure_guest_user):
|
||||||
logger.info("打开 FAQ 页面")
|
logger.info("打开 FAQ 页面")
|
||||||
page.goto("/faq", wait_until="domcontentloaded")
|
page.goto("/faq", wait_until="domcontentloaded")
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
|
import allure
|
||||||
import pytest
|
import pytest
|
||||||
from pages.home_page import HomePage
|
from pages.home_page import HomePage
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("首页")
|
||||||
|
@allure.story("首页加载")
|
||||||
|
@allure.title("校验 JoyHub 首页加载成功")
|
||||||
@pytest.mark.smoke
|
@pytest.mark.smoke
|
||||||
def test_home_page_loaded(page):
|
def test_home_page_loaded(page):
|
||||||
home_page = HomePage(page)
|
home_page = HomePage(page)
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ PROJECT_ROOT = Path(__file__).resolve().parents[1]
|
|||||||
if str(PROJECT_ROOT) not in sys.path:
|
if str(PROJECT_ROOT) not in sys.path:
|
||||||
sys.path.insert(0, str(PROJECT_ROOT))
|
sys.path.insert(0, str(PROJECT_ROOT))
|
||||||
|
|
||||||
|
import allure
|
||||||
from playwright.sync_api import expect
|
from playwright.sync_api import expect
|
||||||
|
|
||||||
from tests.conftest import accept_cookie_if_present, login_as_configured_user_if_needed
|
from tests.conftest import accept_cookie_if_present, login_as_configured_user_if_needed
|
||||||
@@ -87,6 +88,9 @@ def _login(page):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("首页帖子")
|
||||||
|
@allure.story("游客加载更多")
|
||||||
|
@allure.title("游客查看帖子详情关闭后点击 Load More 校验页面交互")
|
||||||
def test_guest_view_post_close_then_load_more_show_login_modal(page, ensure_guest_user):
|
def test_guest_view_post_close_then_load_more_show_login_modal(page, ensure_guest_user):
|
||||||
_open_home(page)
|
_open_home(page)
|
||||||
ensure_guest_user()
|
ensure_guest_user()
|
||||||
@@ -103,6 +107,9 @@ def test_guest_view_post_close_then_load_more_show_login_modal(page, ensure_gues
|
|||||||
expect(_post_cards(page).first).to_be_visible(timeout=settings.default_timeout)
|
expect(_post_cards(page).first).to_be_visible(timeout=settings.default_timeout)
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("首页帖子")
|
||||||
|
@allure.story("登录用户加载更多")
|
||||||
|
@allure.title("登录用户查看帖子详情关闭后点击 Load More 并打开新帖子")
|
||||||
def test_login_view_post_close_then_load_more_open_new_post_and_close(page, ensure_logged_in_user):
|
def test_login_view_post_close_then_load_more_open_new_post_and_close(page, ensure_logged_in_user):
|
||||||
_open_home(page)
|
_open_home(page)
|
||||||
ensure_logged_in_user()
|
ensure_logged_in_user()
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
import allure
|
||||||
import pytest
|
import pytest
|
||||||
from playwright.sync_api import expect
|
from playwright.sync_api import expect
|
||||||
|
|
||||||
@@ -14,6 +15,9 @@ from utils.logger import get_logger
|
|||||||
logger = get_logger(__name__)
|
logger = get_logger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("登录登出")
|
||||||
|
@allure.story("邮箱验证码登录")
|
||||||
|
@allure.title("校验用户登录成功后可退出登录")
|
||||||
def test_login_success_then_logout_wait_3s_and_close_browser(page, ensure_guest_user):
|
def test_login_success_then_logout_wait_3s_and_close_browser(page, ensure_guest_user):
|
||||||
logger.info("使用 pytest-playwright 统一无头浏览器配置")
|
logger.info("使用 pytest-playwright 统一无头浏览器配置")
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ from pathlib import Path
|
|||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
import allure
|
||||||
import pytest
|
import pytest
|
||||||
from playwright.sync_api import TimeoutError as PlaywrightTimeoutError
|
from playwright.sync_api import TimeoutError as PlaywrightTimeoutError
|
||||||
from playwright.sync_api import expect
|
from playwright.sync_api import expect
|
||||||
@@ -117,6 +118,9 @@ def _open_first_order_detail(page):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("我的订单")
|
||||||
|
@allure.story("订单详情")
|
||||||
|
@allure.title("登录用户从首页进入 My Order 并查看第一笔订单详情")
|
||||||
def test_home_my_order_first_order_detail_after_login(page, ensure_logged_in_user):
|
def test_home_my_order_first_order_detail_after_login(page, ensure_logged_in_user):
|
||||||
logger.info("登录用户从首页进入 My Order 并查看第一笔订单详情")
|
logger.info("登录用户从首页进入 My Order 并查看第一笔订单详情")
|
||||||
logger.info("打开链接地址: %s", settings.base_url)
|
logger.info("打开链接地址: %s", settings.base_url)
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import random
|
|||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
import allure
|
||||||
import pytest
|
import pytest
|
||||||
from playwright.sync_api import expect
|
from playwright.sync_api import expect
|
||||||
|
|
||||||
@@ -16,6 +17,9 @@ from utils.logger import get_logger
|
|||||||
logger = get_logger(__name__)
|
logger = get_logger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("导航")
|
||||||
|
@allure.story("顶部导航")
|
||||||
|
@allure.title("通过顶部导航进入 App 下载页并返回首页")
|
||||||
def test_header_download_app_navigation_then_home_return(page, ensure_guest_user):
|
def test_header_download_app_navigation_then_home_return(page, ensure_guest_user):
|
||||||
logger.info("使用 pytest-playwright 统一无头浏览器配置")
|
logger.info("使用 pytest-playwright 统一无头浏览器配置")
|
||||||
|
|
||||||
@@ -38,6 +42,9 @@ def test_header_download_app_navigation_then_home_return(page, ensure_guest_user
|
|||||||
expect(page.locator('button').first).to_be_visible(timeout=settings.default_timeout)
|
expect(page.locator('button').first).to_be_visible(timeout=settings.default_timeout)
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("导航")
|
||||||
|
@allure.story("底部导航")
|
||||||
|
@allure.title("校验底部 Partnerships 和 FAQ 导航链接可用")
|
||||||
def test_footer_navigation_to_partnerships_and_faq(page, ensure_guest_user):
|
def test_footer_navigation_to_partnerships_and_faq(page, ensure_guest_user):
|
||||||
logger.info("使用 pytest-playwright 统一无头浏览器配置")
|
logger.info("使用 pytest-playwright 统一无头浏览器配置")
|
||||||
|
|
||||||
@@ -64,6 +71,9 @@ def test_footer_navigation_to_partnerships_and_faq(page, ensure_guest_user):
|
|||||||
expect(page.locator("body")).to_be_visible(timeout=settings.default_timeout)
|
expect(page.locator("body")).to_be_visible(timeout=settings.default_timeout)
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("导航")
|
||||||
|
@allure.story("About Us Blog")
|
||||||
|
@allure.title("从 About Us 进入 Blog 并随机浏览分类文章")
|
||||||
def test_about_us_blog_random_category_article_browse_success(page, ensure_guest_user, attach_page_screenshot):
|
def test_about_us_blog_random_category_article_browse_success(page, ensure_guest_user, attach_page_screenshot):
|
||||||
logger.info("打开首页并进入 About Us 下的 Blog 页面")
|
logger.info("打开首页并进入 About Us 下的 Blog 页面")
|
||||||
page.goto(settings.base_url, wait_until="domcontentloaded")
|
page.goto(settings.base_url, wait_until="domcontentloaded")
|
||||||
@@ -124,6 +134,9 @@ def test_about_us_blog_random_category_article_browse_success(page, ensure_guest
|
|||||||
attach_page_screenshot(f"Blog浏览成功_{selected_category}_{article_title or article_href}")
|
attach_page_screenshot(f"Blog浏览成功_{selected_category}_{article_title or article_href}")
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("导航")
|
||||||
|
@allure.story("社交媒体链接")
|
||||||
|
@allure.title("校验底部社交媒体链接 href 配置正确")
|
||||||
def test_footer_social_media_links_open_then_return_home(page, ensure_guest_user):
|
def test_footer_social_media_links_open_then_return_home(page, ensure_guest_user):
|
||||||
social_links = [
|
social_links = [
|
||||||
("X", 'a[href="https://x.com/JoyhubOfficial"]', re.compile(r"https://(x|twitter)\.com/.*", re.I)),
|
("X", 'a[href="https://x.com/JoyhubOfficial"]', re.compile(r"https://(x|twitter)\.com/.*", re.I)),
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
import allure
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
PROJECT_ROOT = Path(__file__).resolve().parents[1]
|
PROJECT_ROOT = Path(__file__).resolve().parents[1]
|
||||||
@@ -13,6 +14,9 @@ from utils.logger import get_logger
|
|||||||
logger = get_logger(__name__)
|
logger = get_logger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("浏览器")
|
||||||
|
@allure.story("Chromium启动")
|
||||||
|
@allure.title("打开 Chromium 浏览器访问首页并等待关闭")
|
||||||
def test_open_chromium_browser_wait_10s_then_close(page, ensure_guest_user):
|
def test_open_chromium_browser_wait_10s_then_close(page, ensure_guest_user):
|
||||||
logger.info("使用 pytest-playwright 统一无头浏览器配置")
|
logger.info("使用 pytest-playwright 统一无头浏览器配置")
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ from pathlib import Path
|
|||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
import allure
|
||||||
import pytest
|
import pytest
|
||||||
from playwright.sync_api import expect
|
from playwright.sync_api import expect
|
||||||
|
|
||||||
@@ -15,6 +16,9 @@ from utils.logger import get_logger
|
|||||||
logger = get_logger(__name__)
|
logger = get_logger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("合作伙伴")
|
||||||
|
@allure.story("合作页内容")
|
||||||
|
@allure.title("校验 Partnerships 页面核心内容可见")
|
||||||
def test_partnerships_page_key_content_visible(page):
|
def test_partnerships_page_key_content_visible(page):
|
||||||
logger.info("使用 pytest-playwright 统一无头浏览器配置")
|
logger.info("使用 pytest-playwright 统一无头浏览器配置")
|
||||||
|
|
||||||
@@ -31,6 +35,9 @@ def test_partnerships_page_key_content_visible(page):
|
|||||||
assert visible_headings_count > 0
|
assert visible_headings_count > 0
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("合作伙伴")
|
||||||
|
@allure.story("合作表单")
|
||||||
|
@allure.title("校验 Partnerships 合作表单字段可见且可编辑")
|
||||||
def test_partnerships_contact_form_fields_visible_and_editable(page):
|
def test_partnerships_contact_form_fields_visible_and_editable(page):
|
||||||
logger.info("使用 pytest-playwright 统一无头浏览器配置")
|
logger.info("使用 pytest-playwright 统一无头浏览器配置")
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import random
|
|||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
import allure
|
||||||
import pytest
|
import pytest
|
||||||
from playwright.sync_api import TimeoutError as PlaywrightTimeoutError
|
from playwright.sync_api import TimeoutError as PlaywrightTimeoutError
|
||||||
from playwright.sync_api import expect
|
from playwright.sync_api import expect
|
||||||
@@ -136,6 +137,9 @@ def _complete_points_payment_after_login(page):
|
|||||||
expect(result_text).to_be_visible(timeout=settings.default_timeout)
|
expect(result_text).to_be_visible(timeout=settings.default_timeout)
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("积分兑换")
|
||||||
|
@allure.story("积分商品支付")
|
||||||
|
@allure.title("游客兑换积分商品后登录并完成积分支付")
|
||||||
def test_guest_points_product_redeem_now_login_then_points_payment_result(page, ensure_guest_user):
|
def test_guest_points_product_redeem_now_login_then_points_payment_result(page, ensure_guest_user):
|
||||||
logger.info("未登录用户从 Rewards 选择积分商品,Redeem Now 后登录并完成积分支付")
|
logger.info("未登录用户从 Rewards 选择积分商品,Redeem Now 后登录并完成积分支付")
|
||||||
page.goto(settings.base_url, wait_until="domcontentloaded")
|
page.goto(settings.base_url, wait_until="domcontentloaded")
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import random
|
|||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
import allure
|
||||||
import pytest
|
import pytest
|
||||||
from playwright.sync_api import TimeoutError as PlaywrightTimeoutError
|
from playwright.sync_api import TimeoutError as PlaywrightTimeoutError
|
||||||
from playwright.sync_api import expect
|
from playwright.sync_api import expect
|
||||||
@@ -138,6 +139,9 @@ def _add_random_shopping_product_to_cart(page):
|
|||||||
raise AssertionError(f"未找到可加购的随机商品: {last_error}")
|
raise AssertionError(f"未找到可加购的随机商品: {last_error}")
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("Rewards Shopping")
|
||||||
|
@allure.story("游客加购")
|
||||||
|
@allure.title("游客随机选择 Rewards Shopping 商品并加入购物车")
|
||||||
def test_rewards_shopping_random_product_add_to_cart_no_login(page, ensure_guest_user):
|
def test_rewards_shopping_random_product_add_to_cart_no_login(page, ensure_guest_user):
|
||||||
logger.info("使用游客身份执行 Rewards Shopping 随机商品加购")
|
logger.info("使用游客身份执行 Rewards Shopping 随机商品加购")
|
||||||
logger.info("打开链接地址: %s", settings.base_url)
|
logger.info("打开链接地址: %s", settings.base_url)
|
||||||
@@ -147,6 +151,9 @@ def test_rewards_shopping_random_product_add_to_cart_no_login(page, ensure_guest
|
|||||||
_add_random_shopping_product_to_cart(page)
|
_add_random_shopping_product_to_cart(page)
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("Rewards Shopping")
|
||||||
|
@allure.story("登录用户加购")
|
||||||
|
@allure.title("登录用户随机选择 Rewards Shopping 商品并加入购物车")
|
||||||
def test_rewards_shopping_random_product_add_to_cart_after_login(page, ensure_logged_in_user):
|
def test_rewards_shopping_random_product_add_to_cart_after_login(page, ensure_logged_in_user):
|
||||||
logger.info("使用登录用户身份执行 Rewards Shopping 随机商品加购")
|
logger.info("使用登录用户身份执行 Rewards Shopping 随机商品加购")
|
||||||
logger.info("打开链接地址: %s", settings.base_url)
|
logger.info("打开链接地址: %s", settings.base_url)
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import random
|
|||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
import allure
|
||||||
import pytest
|
import pytest
|
||||||
from playwright.sync_api import Error as PlaywrightError
|
from playwright.sync_api import Error as PlaywrightError
|
||||||
from playwright.sync_api import TimeoutError as PlaywrightTimeoutError
|
from playwright.sync_api import TimeoutError as PlaywrightTimeoutError
|
||||||
@@ -251,6 +252,9 @@ def _pay_random_shopping_products(page):
|
|||||||
_complete_paypal_payment(page, paypal_page)
|
_complete_paypal_payment(page, paypal_page)
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("Rewards Shopping")
|
||||||
|
@allure.story("游客支付")
|
||||||
|
@allure.title("游客随机选择 Rewards Shopping 商品并触发 PayPal 支付")
|
||||||
def test_rewards_shopping_random_products_payment_no_login(page, ensure_guest_user):
|
def test_rewards_shopping_random_products_payment_no_login(page, ensure_guest_user):
|
||||||
logger.info("使用游客身份执行随机商品 PayPal 支付")
|
logger.info("使用游客身份执行随机商品 PayPal 支付")
|
||||||
page.goto(settings.base_url, wait_until="domcontentloaded")
|
page.goto(settings.base_url, wait_until="domcontentloaded")
|
||||||
@@ -259,6 +263,9 @@ def test_rewards_shopping_random_products_payment_no_login(page, ensure_guest_us
|
|||||||
_pay_random_shopping_products(page)
|
_pay_random_shopping_products(page)
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("Rewards Shopping")
|
||||||
|
@allure.story("登录用户支付")
|
||||||
|
@allure.title("登录用户随机选择 Rewards Shopping 商品并触发 PayPal 支付")
|
||||||
def test_rewards_shopping_random_products_payment_after_login(page, ensure_logged_in_user):
|
def test_rewards_shopping_random_products_payment_after_login(page, ensure_logged_in_user):
|
||||||
logger.info("使用登录用户身份执行随机商品 PayPal 支付")
|
logger.info("使用登录用户身份执行随机商品 PayPal 支付")
|
||||||
page.goto(settings.base_url, wait_until="domcontentloaded")
|
page.goto(settings.base_url, wait_until="domcontentloaded")
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import random
|
|||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
import allure
|
||||||
import pytest
|
import pytest
|
||||||
from playwright.sync_api import TimeoutError as PlaywrightTimeoutError
|
from playwright.sync_api import TimeoutError as PlaywrightTimeoutError
|
||||||
from playwright.sync_api import expect
|
from playwright.sync_api import expect
|
||||||
@@ -166,6 +167,9 @@ def _add_product_to_cart(page, product_href):
|
|||||||
expect(page.locator('a[href="/view-cart"]').first).to_be_visible(timeout=settings.default_timeout)
|
expect(page.locator('a[href="/view-cart"]').first).to_be_visible(timeout=settings.default_timeout)
|
||||||
|
|
||||||
|
|
||||||
|
@allure.feature("Shopping")
|
||||||
|
@allure.story("语言国家切换")
|
||||||
|
@allure.title("随机切换语言和国家后选择 Shopping 商品加入购物车")
|
||||||
def test_switch_random_language_country_then_add_shopping_product_to_cart(page, ensure_guest_user):
|
def test_switch_random_language_country_then_add_shopping_product_to_cart(page, ensure_guest_user):
|
||||||
logger.info("打开 JoyHub 首页并确保游客身份")
|
logger.info("打开 JoyHub 首页并确保游客身份")
|
||||||
page.goto(settings.base_url, wait_until="domcontentloaded")
|
page.goto(settings.base_url, wait_until="domcontentloaded")
|
||||||
|
|||||||
Reference in New Issue
Block a user