代码之家  ›  专栏  ›  技术社区  ›  Nathan Long

用黄瓜和硒测试:我怎样才能看到浏览器中的内容?

  •  3
  • Nathan Long  · 技术社区  · 14 年前

    如果在场景之前添加@selenium标记,它将在Firefox中执行测试。但是我看到浏览器打开和关闭,除非它需要我的交互(比如确认删除),否则它会在我看到它在做什么之前经过。

    7 回复  |  直到 14 年前
        1
  •  8
  •   Theo    14 年前

    要查看在特定时间点浏览器中显示的内容,请将此步骤添加到场景中:

    Then show me the page
    

    你可能不会得到所有的造型,这取决于。

    还有一件事你也可以试试:添加一个看起来像这样的步骤:

    Then /^I pause for a while$/ do
      sleep 30
    end
    

    当页面显示在浏览器中时,这将为您提供30秒的时间来查看页面。

        2
  •  7
  •   bsimm    14 年前
        3
  •  2
  •   paulus    12 年前

    Cucumber

    Then /^Wait for keypress$/ do
      STDIN.getc 
    end
    

    非常类似于标签解决方案,但噪音较小。这样我就可以随时停止测试执行。

        4
  •  1
  •   user971925    13 年前

    当您想要查看selenium看到的内容时,请将以下内容添加到您的功能中:

    @leave_the_window_open
    @javascript
    Feature: The failing feature you want to click through
    (...)
    

    After 黄瓜装载路径中的定义:

    After('@leave_the_window_open') do |scenario|
      if scenario.respond_to?(:status) && scenario.status == :failed
        print "Step Failed. Press Return to close browser"
        STDIN.getc
      end 
    end
    

    see an example here

    现在浏览器窗口保持打开,直到你在控制台中按回车键。你可以到处点击,检查每件事。

        5
  •  0
  •   CBA    14 年前

        6
  •  0
  •   Community Neeleshkumar S    7 年前

    我通常使用ask方法来暂停动作,这样我就可以看到发生了什么。当一切暂停时,我将使用Firebug来研究这个问题。见 here 对于一个gem,它允许您使用Firebug和Cucumber来查看CSS/JS等。

    ask方法示例:

    res = ask('Where is that error coming from??')
    

    另一个选择是使用ruby调试器并检查所有正在运行的东西。 Here 是个很难解释的问题。

        7
  •  0
  •   monkeyboy    11 年前

    使用Ruby,你可以添加pry nav gem- https://github.com/nixme/pry-nav

    在gemfile中添加以下内容: 宝石“撬” 宝石“撬遥控器” 宝石“撬动导航”

    然后在步骤定义中添加“binding.pry”行

    然后,您可以使用step,next,继续从命令行执行代码的步骤。您还可以获得控制台功能,例如,您可以计算表达式