如何在其他场景中使用全局变量。 Python,Webdriver,生菜

时间:2017-03-08 20:07:46

标签: python selenium testing webdriver lettuce

我正在使用WebDriiver,lettuce和python进行测试。在我验证的第一个场景中,该用户可以创建一个帐户。对于用户名,我使用带时间戳的电子邮件generaror。 生菜步骤是:

Then input text "NEW_EMAIL" to text field with ID "s-txt-email"

python代码是:

@step('input text "([^"]*)" to text field with ID "([^"]*)"')
def input_with_id(step, txt, ID):
    global new_email
    links = get_driver().find_elements_by_xpath("//input[@id='%s']" % ID)
    if links:
        links[0].click()
    else:
        raise ValueError('Link with ID %s not found' % ID)
    if not "generated_email" in txt:
        timestamp = datetime.now().strftime('%m_%d_%Y.%H_%M')
        new_email = "automation.%s@yopmail.com" % timestamp
        txts = {"NEW_EMAIL": new_email,
                "STANDARD_PSW": "xxxxx",
                "NEW_USER": new_email,
                }
        if txt in txts.keys():
            txt = txts[txt]
    else:
        txt = new_email
    links[0].send_keys(str(txt))

在其他情况下,我使用相同的代码验证用户是否可以登录。 生菜步骤是:

Then input text "generated_email" to text field with ID "l-txt-email-address"

和python代码是一样的(见上文)。 但它生成了带有新时间戳的新电子邮件,用户无法登录。我错了什么?我如何在另一个场景中使用全局变量?

0 个答案:

没有答案