制作1页对象两个元素ID到1页对象变量

时间:2013-07-30 15:51:07

标签: ruby watir page-object-gem

我正在使用页面对象Gem和Watir。在测试期间,我发现我的字段具有相同的内容,显示在同一位置但具有单独的唯一ID。区别在于你到达页面之前。

我尝试使用Xpath:

select_list(:selectionSpecial, :xpath => "//select[@id='t_id9' OR @id='t_id7']")


但遇到了脚本错误。

它们是静态ID,但我想将它们强制转换为一个变量,因为这样我就可以使用“populate_page_with”功能。

我目前有一个冗长的方式,但我正在寻找一种更有效的方式来处理页面对象功能。

有谁知道这样做的方法?

1 个答案:

答案 0 :(得分:1)

使用xpath的方法可行。问题是xpath选择器中的语法错误。它应该是:

"//select[@id='t_id9' or @id='t_id7']"

注意:

  • 开头应该是//而不是\
  • 使用or区分大小写;它必须是小写
  • 第一个id属性
  • 也缺少结束'

就个人而言,我发现css和xpath选择器更难使用。我会使用正则表达式的id定位器。以下给出了相同的结果,但有些人会发现它更容易阅读。

select_list(:selectionSpecial, :id => /^t_id(7|9)$/)