使用Frank和cucumber时,如何使用gets模块获取输入



背景信息

我目前正在使用Frank with Cucumber在iOS应用程序上进行自动化测试。一切都正常工作,我可以对应用程序进行Frankify,运行它,等等。Symbiote和Cucumber都正常工作。我已经编写了许多测试步骤,这些步骤完全符合我的预期。我所有的步骤都是用Ruby编写的。

问题

我的问题是,当一切都正常工作时,我希望能够有一个接受输入的步骤。我想我可以使用gets模块,但由于某种原因,它不等待任何用户输入,我只看到提示在功能失败后才起作用。这是该步骤的代码:

    When(/^I verify the device via text$/) do
  print "What's the Verify link?"
  link_to_app = gets.chomp
  sleep 20
  press_home_on_simulator
  sleep 1
  # for this next part you're gonna need this link:
  # https://github.com/moredip/Frank/issues/177
  # It's used to go out of the app and open an html doc in safari
  html_format = "<!DOCTYPE HTML><html><head><title></title><meta http-equiv="refresh" content="0;URL='#{link_to_app}'"></head><boßdy></body></html>"
  html = html_format
  require 'tempfile'
  file = Tempfile.new(['launch', '.html'])
  begin
    file.write(html)
    %x( /usr/bin/open "#{file.path}" -a "iPhone Simulator" )
  ensure
    file.close
    file.unlink
  end
  sleep 2
end

这基本上是为了获取一个只能从短信中获取的链接,并允许我在模拟器中自动转到该链接(这用于应用程序中的帐户验证)。正如我之前所说,它不是提示停止并等待任何输入,而是跳过。

问题

基本上,在使用Frank和Cucumber时,我如何使gets模块工作并为我接受输入?

感谢

尝试使用STDIN.gets,而不是简单的旧版本获取

相关内容

  • 没有找到相关文章

最新更新