Python 调用方法时获取有关参数的错误

Python 调用方法时获取有关参数的错误,python,python-behave,Python,Python Behave,我试图从中获取电子邮件的功能文件: Scenario: Login to website Given I navigate to Login page When I click on login button Then I redirected to login page Then I enter valid "<Email>" | Email | | test | When I click on Submit 当我将上

我试图从中获取电子邮件的功能文件:

Scenario: Login to website
  Given I navigate to Login page
  When  I click on login button
  Then  I redirected to login page
  Then  I enter valid "<Email>"
        | Email |
        | test  |
  When  I click on Submit
当我将上述方法分步骤调用时:

from Base.BasePage import BasePage
from behave import step, Given, When, Then
from Pages.LoginPage import loginpage


@Given('I navigate to Login page')
def step_impl(Context):
    BasePage.load_BaseURL();


@When('I click on login button')
def step_impl(Context):
    loginpage.clickLoginLink()


@Then('I redirected to login page')
def step_impl(self):

    print('Verifying user logged in..')

@Then('I enter valid "{Email}"')
def step_impl(Email):
    loginpage.enterEmail(Email);
我有以下错误:


我尝试添加带有参数的**,但没有成功。

您正在调用
enterEmail
作为
loginpage.enterEmail(上下文,电子邮件)
这里您将参数传递给方法,如下所示

  • 上下文
  • 电子邮件
  • 类登录页的Self

  • 如果可行,请尝试删除登录页面或上下文。

    它应该是一个实例方法吗?您的3个参数是
    loginpage
    context
    Email
    这是否回答了您的问题?“它不工作”不是一个描述。真的帮不上什么忙了,因为正如我在第一条评论中所说的,不清楚你的函数属于什么,也不清楚这3个参数来自何处仍然不清楚登录页面是什么is@HelpingHands那么为什么它的名字包含大写字母呢?
    from Base.BasePage import BasePage
    from behave import step, Given, When, Then
    from Pages.LoginPage import loginpage
    
    
    @Given('I navigate to Login page')
    def step_impl(Context):
        BasePage.load_BaseURL();
    
    
    @When('I click on login button')
    def step_impl(Context):
        loginpage.clickLoginLink()
    
    
    @Then('I redirected to login page')
    def step_impl(self):
    
        print('Verifying user logged in..')
    
    @Then('I enter valid "{Email}"')
    def step_impl(Email):
        loginpage.enterEmail(Email);
    
      File "..\steps\Steps_Login.py", line 27, in step_impl
          loginpage.enterEmail(context, Email);
      TypeError: enterEmail() takes 1 positional argument but 3 were given