0

此代码应该将字符串作为输入来检查元素page_object是否存在。脚本必须引发异常以防它发现元素,如果没有则什么也不做。

示例页面对象:

span(:partner_flag,          class: 'content-partner-flag')

剧本:

 def check_element_not_exist(page_object)
    page_object = page_object.downcase.gsub(' ', '_')
    option = send("#{page_object}")
    if option.exists?
      raise "#{page_object} was not found!"
    end
 end

在这种情况下,我使用字符串partner_flag来提供函数并检查元素。Watir 失败了:

option = send("#{page_object}")

因为它需要在网页中找到该元素才能定义option. 是否有另一种定义方法option,或者有另一种方法来使用功能进行这种不存在检查send

4

1 回答 1

0

访问器方法创建了一个检查元素是否存在的方法。

例如,当您包括:

span(:partner_flag, class: 'content-partner-flag')

然后方法:

partner_flag?

如果元素存在则返回 true,如果元素不存在则返回 false。

您可以在方法中调用此check_element_not_exist方法:

def check_element_not_exist(page_object)
  page_object = page_object.downcase.gsub(' ', '_')
  exists = send("#{page_object}?")
  if exists
    raise "#{page_object} was found!"
  end
end
于 2014-03-04T19:28:04.697 回答