[Python] Unable to run PyTest-bdd step definition file as it throws index out of range error

Discussão em 'Python' iniciado por Stack, Maio 12, 2025.

  1. Stack

    Stack Membro Participativo

    Feature file is as below

    Feature: Nopcommerce Login

    Scenario: login to nopcommerce website

    Given nopcommerce page is displayed
    When user enters username as admin@yourstore.com
    When user enters password as admin
    Then user is able to login to nocpmmerce website


    step definition python file is as below

    from pytest_bdd import scenarios, given, when, then
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    import pytest

    scenarios('../features/NopcommerceLogin.feature')

    @pytest.fixture()
    def browser():
    driver = webdriver.Safari()
    yield driver
    driver.quit()

    @given("nopcommerce page is displayed")
    def webpage(browser):
    browser.get("http://admin-demo.nopcommerce.com")

    @when("user enters username as admin@yourstore.com")
    def enter_uname(browser):
    browser.find_element_by_id("Email").send_keys("admin@yourstore.com")

    @when("user enters password as admin")
    def enter_pwd(browser):
    browser.find_element_by_id("Password").send_keys("admin")
    browser.find_element_by_xpath("/html/body/div[6]/div/div/div/div/div[2]/div[1]/div/form/div[3]/input").click()

    @then("user is able to login to nocpmmerce website")
    def loginsuccess(browser):
    assert browser.current_url == "https://admin-demo.nopcommerce.com/admin/"


    when the step_def file is run, the following error message is displayed

    Traceback (most recent call last):

    File "~/tests/step_defs/test_NopcommerceLogin.py", line 6, in scenarios('../features/NopcommerceLogin.feature')

    File "~/venv/lib/python3.8/site-packages/pytest_bdd/scenario.py", line 343, in scenarios features_base_dir = get_features_base_dir(module)

    File "~/venv/lib/python3.8/site-packages/pytest_bdd/scenario.py", line 295, in get_features_base_dir return get_from_ini('bdd_features_base_dir', default_base_dir)

    File "~/venv/lib/python3.8/site-packages/pytest_bdd/scenario.py", line 303, in get_from_ini config = CONFIG_STACK[-1]

    IndexError: list index out of range

    Continue reading...

Compartilhe esta Página