如何在ruby

时间:2017-07-31 11:55:54

标签: ruby

我需要一些帮助工作和新的数组。我试图在一个实例变量的电子邮件中存储一个值,以便在我的测试的后期使用。电子邮件正文包含以下字符串

  

最后,您的参考编号 7712342 - 请引用此编号

所以我的测试要做的是

  • 访问电子邮件页面
  • 抓取该字符串并存储为str_array = my Array。我只需要这个号码: 7712342

我遇到的问题是电子邮件正文有一大堆文本,所以不知道如何抓住我需要的特定文本。 一旦我拥有它,那么我很高兴继续我的测试。但我现在卡住了。

希望能找到一些帮助。

这是我很快写的东西。

  element :email_form, '.form-control'
  element :go_button, '.input-group-btn'
  elements :subject, '.all_message-min_text'


  def check_email_and_store_ref
    email = "test-3@mailinator.com"
    email_body = "Finally, your Web Order Reference Number is 7754468 - please quote this in any communication with us until you receive your Subscriber Number."
    email_subject_line = find_element_by_text(self.subject.first, email_body, {:text_element => 'header', :partial_match => true})
    ref_number = email_bidy.scan(/\d+/)

    Capybara.visit 'https://www.mailinator.com/'
    email_form.set email
    go_button.click
    email_subject_line.click
    puts ref_number
    #I can now use the above ref number in another method within my class
  end

1 个答案:

答案 0 :(得分:1)

使用 String#Scan

> email_body = "Finally, your Reference Number us 7712342 - please quote this number"
> reference_no = email_body.scan(/\d+/)
#=> ["7712342"]