Anonymous
AssertionError: Бургер не открыт. класс = 'бургер'
Сообщение
Anonymous » 23 дек 2025, 10:09
Попробуйте запустить тест локально, без режима Headless.
Запуск pytest с аргументамиtests/test_burger_menu.py::test_open_burger_menu --no-header --no-summary -q
Эмулятор : Pixel 8 (Android 16.0)
Запустить эмулятор : эмулятор -avd Pixel
Запустить Appium : appium --allow-insecure="*:chromedriver_autodownload"
confest.py
Код: Выделить всё
import pytest
from appium import webdriver
from appium.options.android import UiAutomator2Options
def pytest_addoption(parser):
parser.addoption("--appium-url", action="store", default="http://127.0.0.1:4723")
parser.addoption("--udid", action="store", default="emulator-5554")
parser.addoption(
"--base-url",
action="store",
default="https://www.example.com",
)
@pytest.fixture(scope="session")
def base_url(request) -> str:
return request.config.getoption("--base-url")
@pytest.fixture
def driver(request):
appium_url = request.config.getoption("--appium-url")
udid = request.config.getoption("--udid")
options = UiAutomator2Options()
options.platform_name = "Android"
options.automation_name = "UiAutomator2"
options.udid = udid
options.browser_name = "Chrome"
options.new_command_timeout = 120
options.set_capability("appium:uiautomator2ServerLaunchTimeout", 120000)
options.set_capability("appium:uiautomator2ServerInstallTimeout", 120000)
options.set_capability("appium:uiautomator2ServerStartupTimeout", 120000)
options.set_capability("appium:skipLogcatCapture", True)
options.set_capability("appium:clearSystemFiles", True)
options.set_capability("appium:ignoreHiddenApiPolicyError", True)
# Important for mobile Chrome: don't wait for full page load (reduces hangs/crashes)
options.set_capability("pageLoadStrategy", "none")
# Disable first-run/Welcome screen in Chrome
options.set_capability("appium:chromeOptions", {"args": ["--disable-fre", "--no-first-run"]})
drv = webdriver.Remote(appium_url, options=options)
try:
yield drv
finally:
drv.quit()
pages/home_page.py
Код: Выделить всё
import pytest
from appium import webdriver
from appium.options.android import UiAutomator2Options
def pytest_addoption(parser):
parser.addoption("--appium-url", action="store", default="http://127.0.0.1:4723")
parser.addoption("--udid", action="store", default="emulator-5554")
parser.addoption(
"--base-url",
action="store",
default="https://www.particleformen.com/?store_switch=en",
)
@pytest.fixture(scope="session")
def base_url(request) -> str:
return request.config.getoption("--base-url")
@pytest.fixture
def driver(request):
appium_url = request.config.getoption("--appium-url")
udid = request.config.getoption("--udid")
options = UiAutomator2Options()
options.platform_name = "Android"
options.automation_name = "UiAutomator2"
options.udid = udid
options.browser_name = "Chrome"
options.new_command_timeout = 120
options.set_capability("appium:uiautomator2ServerLaunchTimeout", 120000)
options.set_capability("appium:uiautomator2ServerInstallTimeout", 120000)
options.set_capability("appium:uiautomator2ServerStartupTimeout", 120000)
options.set_capability("appium:skipLogcatCapture", True)
options.set_capability("appium:clearSystemFiles", True)
options.set_capability("appium:ignoreHiddenApiPolicyError", True)
# Important for mobile Chrome: don't wait for full page load (reduces hangs/crashes)
options.set_capability("pageLoadStrategy", "none")
# Disable first-run/Welcome screen in Chrome
options.set_capability("appium:chromeOptions", {"args": ["--disable-fre", "--no-first-run"]})
drv = webdriver.Remote(appium_url, options=options)
try:
yield drv
finally:
drv.quit()
tests/test_burger_menu.py
Код: Выделить всё
import pytest
import allure
from pages.home_page import HomePage
@allure.epic("Mobile Web Tests")
@allure.feature("Home Page")
@pytest.mark.smoke
@allure.story("Burger menu functionality")
def test_open_burger_menu(driver, base_url):
with allure.step("Open home page"):
HomePage(driver).open(base_url).assert_loaded()
with allure.step("Open burger menu"):
HomePage(driver).open_menu()
with allure.step("Verify menu is opened"):
HomePage(driver).assert_menu_opened()
Эмулятор открывает Chrome --->Загрузить base.url----> падает с ошибкой AssertionError: Burger не открыт. класс='бургер'
Подробнее здесь:
https://stackoverflow.com/questions/798 ... ass-burger
1766473769
Anonymous
Попробуйте запустить тест локально, без режима Headless. Запуск pytest с аргументамиtests/test_burger_menu.py::test_open_burger_menu --no-header --no-summary -q [b]Эмулятор[/b]: Pixel 8 (Android 16.0) [b]Запустить эмулятор[/b]: эмулятор -avd Pixel [b]Запустить Appium[/b]: appium --allow-insecure="*:chromedriver_autodownload" confest.py [code] import pytest from appium import webdriver from appium.options.android import UiAutomator2Options def pytest_addoption(parser): parser.addoption("--appium-url", action="store", default="http://127.0.0.1:4723") parser.addoption("--udid", action="store", default="emulator-5554") parser.addoption( "--base-url", action="store", default="https://www.example.com", ) @pytest.fixture(scope="session") def base_url(request) -> str: return request.config.getoption("--base-url") @pytest.fixture def driver(request): appium_url = request.config.getoption("--appium-url") udid = request.config.getoption("--udid") options = UiAutomator2Options() options.platform_name = "Android" options.automation_name = "UiAutomator2" options.udid = udid options.browser_name = "Chrome" options.new_command_timeout = 120 options.set_capability("appium:uiautomator2ServerLaunchTimeout", 120000) options.set_capability("appium:uiautomator2ServerInstallTimeout", 120000) options.set_capability("appium:uiautomator2ServerStartupTimeout", 120000) options.set_capability("appium:skipLogcatCapture", True) options.set_capability("appium:clearSystemFiles", True) options.set_capability("appium:ignoreHiddenApiPolicyError", True) # Important for mobile Chrome: don't wait for full page load (reduces hangs/crashes) options.set_capability("pageLoadStrategy", "none") # Disable first-run/Welcome screen in Chrome options.set_capability("appium:chromeOptions", {"args": ["--disable-fre", "--no-first-run"]}) drv = webdriver.Remote(appium_url, options=options) try: yield drv finally: drv.quit() [/code] pages/home_page.py [code] import pytest from appium import webdriver from appium.options.android import UiAutomator2Options def pytest_addoption(parser): parser.addoption("--appium-url", action="store", default="http://127.0.0.1:4723") parser.addoption("--udid", action="store", default="emulator-5554") parser.addoption( "--base-url", action="store", default="https://www.particleformen.com/?store_switch=en", ) @pytest.fixture(scope="session") def base_url(request) -> str: return request.config.getoption("--base-url") @pytest.fixture def driver(request): appium_url = request.config.getoption("--appium-url") udid = request.config.getoption("--udid") options = UiAutomator2Options() options.platform_name = "Android" options.automation_name = "UiAutomator2" options.udid = udid options.browser_name = "Chrome" options.new_command_timeout = 120 options.set_capability("appium:uiautomator2ServerLaunchTimeout", 120000) options.set_capability("appium:uiautomator2ServerInstallTimeout", 120000) options.set_capability("appium:uiautomator2ServerStartupTimeout", 120000) options.set_capability("appium:skipLogcatCapture", True) options.set_capability("appium:clearSystemFiles", True) options.set_capability("appium:ignoreHiddenApiPolicyError", True) # Important for mobile Chrome: don't wait for full page load (reduces hangs/crashes) options.set_capability("pageLoadStrategy", "none") # Disable first-run/Welcome screen in Chrome options.set_capability("appium:chromeOptions", {"args": ["--disable-fre", "--no-first-run"]}) drv = webdriver.Remote(appium_url, options=options) try: yield drv finally: drv.quit() [/code] tests/test_burger_menu.py [code]import pytest import allure from pages.home_page import HomePage @allure.epic("Mobile Web Tests") @allure.feature("Home Page") @pytest.mark.smoke @allure.story("Burger menu functionality") def test_open_burger_menu(driver, base_url): with allure.step("Open home page"): HomePage(driver).open(base_url).assert_loaded() with allure.step("Open burger menu"): HomePage(driver).open_menu() with allure.step("Verify menu is opened"): HomePage(driver).assert_menu_opened() [/code] Эмулятор открывает Chrome --->Загрузить base.url----> падает с ошибкой AssertionError: Burger не открыт. класс='бургер' Подробнее здесь: [url]https://stackoverflow.com/questions/79853436/assertionerror-burger-is-not-open-class-burger[/url]