【问题标题】:How to handle User "confirmation" with Watir/Cucumber?如何使用 Watir/Cucumber 处理用户“确认”?
【发布时间】:2010-04-17 03:21:51
【问题描述】:

我是 Watir 的新手,在我的测试中登录时遇到了一些问题。我使用 authlogic 作为我选择的身份验证方法。当用户注册时,他们会收到一封带有确认链接的电子邮件。点击此链接确认他们的帐户,然后他们可以登录。

我遇到的问题是如何在使用 Watir 时确认用户?

到目前为止:

Given /I sign up/ do
  BROWSER.goto("http://localhost:3000/register")
  BROWSER.text_field(:id, "user_email").set("foo@bar.com")
  BROWSER.text_field(:id, "user_name").set("Foo Bar)
  BROWSER.text_field(:id, "user_password").set("foo bar")
  BROWSER.text_field(:id, "user_password_confirmation").set("foo bar")
  BROWSER.button(:id, "user_submit").click
end

Given /I am logged in via Watir/ do
  BROWSER.goto("http://localhost:3000/login")
  BROWSER.text_field(:id, "user_session_email").set("foo@bar.com)
  BROWSER.text_field(:id, "user_session_password").set("foo bar")
  BROWSER.button(:id, "user_session_submit").click
end

这会正确填充字段并保存用户。现在我尝试像这样确认用户:

Given /I am confirmed/ do
  User.last.confirmed!
end

不幸的是,这不起作用。我错过了什么?

【问题讨论】:

  • User.last.confirmed! 是做什么的?我不明白问题是什么。
  • User.last.confirmed! 找到最后一个用户并切换其帐户上的 :confirmed 标志。当 :confirmed = true 时,他们已经确认了他们的电子邮件,他们可以登录了。
  • 我还是不明白这个问题: - 请提供 User.last.confirmed! 的 Watir 代码 - 请扩展“不起作用”。你期待什么?发生了什么?
  • User.last.confirmed! 是 Ruby 代码。这是一个 Cucumber 步骤,它只是翻转用户记录上的一个标志。默认值为 false,当用户确认(单击其电子邮件中的注册链接)时,该标志将翻转为 true。然后用户可以登录。运行时,标志不翻转。
  • 我想问的是:这是 Watir 的问题吗?如果是,请发布您使用过的 Watir 代码。如果问题与 Watir 无关,我不会有太大帮助。

标签: cucumber authlogic watir


【解决方案1】:

我不熟悉waitir,但我想给出以下步骤:

Given I have signed up
When I confirm my account
Then my account should be confirmed

您可以跟踪您希望他们点击的链接并实际测试点击该链接以验证控制器然后将用户设置为已确认:

When /I confirm my account / do
  BROWSER.goto("the_url_from_the_email")
  # note that if you need to visit this link and click a button
  # or something you will need to code that part as well
end

这些步骤将使用注册码和确认码。我认为,如果您愿意,您可以使用这些来编写“假设我已使用已确认的帐户登录”步骤作为其他测试的先决条件,或者仅使用相同的步骤来返回罐装帐户。

不确定这是否真的回答了您最初的问题,但如前所述,您并没有真正说出实际出了什么问题。我会假设 User.last.confirmed!没有保存,或者没有保存您期望的记录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多