是否可以从ruby watir中的单个命令单击多个链接

时间:2014-02-12 07:39:01

标签: ruby watir

我有一个看起来像这样的黄瓜语句Then i navigate to "page_name": "page1> page2> page3"

其中page_name是一个虚拟变量,用于放置我要导航到的页面的名称。另一个参数是到达所需页面必须遵循的路径。我不能硬编码路径,因为它有时是长度4。我正在使用.yml文件为相应的名称提供href。

Ex: page1= link1,
page2= link2,
page3= link3

是否可以编写单个ruby函数来执行此操作?

1 个答案:

答案 0 :(得分:1)

是的,这是可能的。你可以:

  1. 从黄瓜步骤
  2. 获取路径“page1> page2> page3”
  3. 拆分“>”
  4. 上的路径
  5. 通过以下途径迭代:
    1. 从yml文件中获取href
    2. 点击该链接
  6. 例如,这可能如下所示:

    Then /i navigate to ".*": ".*"/ do |page_name, path|
      path.split('> ').each do |page|
        # Determine which link to click (assuming that the yml file gives you respective hrefs)
        href = get_link_from_yml(page)  # (You will need to create this method)
    
        # Click the link
        @browser.link(:href => href).click
      end
    end