#单属性查询
#当页面中某对象可以由某个属性唯一标识时,可以用单属性查询法。其语法遵循$ie.object_class(:<attribute>, “ <attribute value> ” ), 如
$ie.button(:id, "submit").exists?
$ie.div(:id, "div3").exists?
$ie.image(:alt , "flower" ).exists?
$ie.link(:url, "https://localhost:9043/ibm/console").exists?
# 多属性组合查询
#当一个页面中存在多个属性相同的对象,不能通过单个属性来识别某个对象时,我们可以用多个属性组合来查询,如一数据表格中有多行,每行分别有一个 radio 按钮,
#它们名字属性相同,在这种情况下,我们可以通过两个属性,如名字 (name) 和索引 (Index) 的组合来进行查询。
$ie.radio(:name => 'Employees', :index => 2).exists?
# 正则表达式匹配
# Watir 支持正则表达式模糊匹配,它适合于识别动态创建的页面对象。其语法是查询条件为正则表达式,正则表达式由字符串前后附加的两个反斜杠 // 来标明 ,
# 如 WAS Console 链接https://127.0.0.1:9043/ibm/console,由于主机名依赖于测试环境,所以我们可以用以下几种正则表达式查询方法来识别。
$ie.link(:url, /9043/ibm/console/).click
#或者是
$ie.link(:url, /https://127\\.0\\.0.\\1:9043*/).click
#注:* 代表任何字符,一些特殊字符,如”().”需要转义 , 我们可以在 irb 模式下输入 Regexp.escap “ {string to be converted} ” , 就能得到转义后的字符串
# XPath 查询
=begin
XPath 是 Watir 提供的一个强大查询。我们在开发 Web 自动化程序的时候可能会经常碰到,一些对象很难被一个或一些属性来唯一描述,
此时使用 XPath 查询就非常必要。另外,当页面 DOM 树结构较为复杂(如有很多嵌套的表格),而查询对象在较深的层次时,
使用 XPath 查询会加速对象的搜索。其表达式为$ie.object_class(:xpath, “ xpath query ” ),比如:
=end
$ie.table(:xpath, "//table[@id='t1']/").exists?
Watir 进行对象识别方式
最新推荐文章于 2017-09-23 13:36:00 发布