xpath 模糊匹配 Selenium2Library 对象标识 强唯一性 ,iframe层选择

来源:互联网 发布:淘宝衣服网 编辑:程序博客网 时间:2024/06/05 20:47


xpath在web页面元素识别过程中,用的比较多。


xpath 简单的说就是web页面路径,每一个web元素,都可以用xpath表示。

比较常见的:

book[@author='John']
条件集合

book[@author='John' and @year='2009' and @language='En']

用class元素表示一个元素,如果要识别一类元素,就需要用到模糊匹配 contains 关键字。如下:

// a[contains(@class,\'ui-state-highlight\')]'

选择标签a 中,class属性包含ui-state-highlight的元素,反斜杠可以去掉。


在基于UI界面的自动化测试中,xpath的写法会影响到后续代码的维护。


一般能够唯一标识的尽量唯一标识,个人建议最好用特有属性//div[@name="biubiu"]进行表示,而尽量不用最简单的/htm/body/div 这样的基础路径方式

 

特殊情况:

    如果你发现的xpath写的一点问题也没有,到那时就是找不到。

  1. 你可以用F12搜下你的标识的对象有2个或者多个,如果xpath能找到2个及以上,Selenium2Library是报错的。这种情况一般出现在有页面是hidden状态,页面不显示,但是源代码中有。

 

  2 .就是有frame或iframe的情况,也就是常说的框架的嵌套,典型的就是一个html开头的下包含了一个标签是iframe,然后iframe下又以html开头包含了一个页面。针对这种情况。就需要先选择iframe,如果包含了多层,那就就选择到你要用到的那层,然后在从你选择了的那层的html开始标识xpath,如果要调到别的frame中,需要先unselect frame,然后再从最外层的html 逐次选择到你要用到的iframe层。

 

0 0
原创粉丝点击