有了XPath,再也不用担心自动化测试元素定位了

有了XPath,再也不用担心自动化测试元素定位了更多精彩,请我们!

摘要 [本文来自:www.11jj.com]

  使用Selenium进行自动化测试,一大难题就是元素定位。虽然Selenium支持使用ID、name、Class、链接文字等多种方式进行元素识别,但对于复杂的网页,采用富客户端框架的前台界面,部分界面元素特征的稳定性无法保证,导致识别失败。如果生搬硬套使用ID、name等方式,会导致自动化脚本可用率降低,增加了投入成本。

[好文分享:www.11jj.com]

  本文推荐使用XPath定位方式,介绍XPath定位的几种方式:绝对路径、相对路径、索引号、属性值、文本内容和Axis,其中属性值和文本内容说明模糊匹配的使用,Axis方式说明Axis嵌套的方法。在多种XPath定位方式中,推荐使用相对路径、属性值、文本内容和Axis组合的方式,并给出界面识别的推荐规则。

  通过XPath的组合,让你的自动化测试不再担心元素定位问题。

XPath简介

  XPath不是Selenium专用,只是作为一种定位手段,为Selenium所用。XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。由于HTML的层次结构与XML的层次结构天然一致,所以使用XPath也能够进行HTML元素的定位。

本文使用的HTML示例源码如下

有了XPath,再也不用担心自动化测试元素定位了

Web界面如下

有了XPath,再也不用担心自动化测试元素定位了

绝对路径定位

  顾名思义,将XPath表达式从HTML的最外层节点,逐层填写,最后定位到要操作的元素。

  以定位第一个img元素为例,可以使用如下XPath表达式:

  /html/body/div/div/img

  语句以”/”开始,含义为从”html”节点开始寻找,逐层寻找”body/div/div/img”。通过FirePath查看结果如下。

有了XPath,再也不用担心自动化测试元素定位了

  通过绝对路径定位的元素, 一旦路径有变化会导致定位失败。而且完全能够通过路径定位到的元素是比较少见的,都需要增加索引、属性等方式。所以不推荐使用该方式。

相对路径定位

  绝对路径与相对路径的差别与文件系统中的绝对和相对路径类似,相对路径是只给出元素路径的部分信息,在HTML的任意层次中寻找符合条件的元素。

  还是以定位第一个img元素为例,通过相对路径可以使用如下XPath表达式:

  //div/div/img

  语句以”//”开始,含义为在任意层次下寻找路径层次为”div/div/img”的元素。通过FirePath查看结果如下。

  通过相对路径定位元素,提取的是元素的部分特征,只要提取恰当,能够保证版本间稳定,是进行自动化测试的首选。示例中通过相对路径直接定位,实际使用中会结合属性等其他特征,共同定位。

索引号定位

  索引号与元素属性id无关。通过索引号定位是指定元素在父节点下的出现序号,通过序号进行定位的方式。

  以期望定位第一个input元素为例,表达式如下:

  //div/input[1]

  该XPath是相对路径和索引号组合的方式,含义是任意层次下的”div/input”,其中input是”div”下索引是1的input。

  不幸的是,符合这个条件的input有三个,,FirePath查看结果如上。通过这个例子可以看到,界面元素的id属性与索引号无关;相对路径或者绝对路径可以与索引号的方式组合进行定位。

  索引号定位的方法,类似于QTP定位通过index定位Java Swing对象,当界面出现变动时,很难保证索引号的稳定。所以不推荐使用。

 ......

查看全文内容,点击阅读原文

本文选自本文选自《51测试天地》第五十期

更多精彩,点击下方“阅读原文”查看。

自媒体 微信号:11jj 扫描二维码关注公众号
爱八卦,爱爆料。

小编推荐

  1. 1

    数字易经0到9代表什么卦(数字易经测算)

    大家好,小伟今天来为大家解答数字易经0到9代表什么卦以下问题,数字易经测算很多人还不知道,现在让我们一起来看看吧!1、数字1代表坎水、数

  2. 2

    苹果手机呼叫转移怎么设置(苹果手机呼叫转移怎么设置无法接通)

    大家好,小乐今天来为大家解答苹果手机呼叫转移怎么设置以下问题,苹果手机呼叫转移怎么设置无法接通很多人还不知道,现在让我们一起来看看

  3. 3

    中国红十字会标志简笔画(中国红十字会标志简笔画)

    大家好,小豪今天来为大家解答中国红十字会标志简笔画以下问题,中国红十字会标志简笔画很多人还不知道,现在让我们一起来看看吧!1、保护性

  4. 4

    八年级下册语文书人教版电子书(八年级下册语文书人教版电子书2022)

    大家好,小美今天来为大家解答八年级下册语文书人教版电子书以下问题,八年级下册语文书人教版电子书2022很多人还不知道,现在让我们一起来看

  5. 5

    古伊尔(魔兽古伊尔)

    大家好,小丽今天来为大家解答古伊尔以下问题,魔兽古伊尔很多人还不知道,现在让我们一起来看看吧!1、古伊尔是魔兽世界里面部落的一个酋长

  6. 6

    唯一极值点问题

    在高档数学的进修中,我们经常会碰着独一驻点的问题,在非常宽松的前提下,这个独一的驻点也就是极值点。今天我们稍微改变一下前提,商量如

  7. 7

    三公九卿制是什么(三公九卿制是什么朝代的制度)

    大家好,小乐今天来为大家解答三公九卿制是什么以下问题,三公九卿制是什么朝代的制度很多人还不知道,现在让我们一起来看看吧!1、三公九卿

  8. 8

    订房网哪个平台好(订房什么网最便宜)

    大家好,小娟今天来为大家解答订房网哪个平台好以下问题,订房什么网最便宜很多人还不知道,现在让我们一起来看看吧!1、携程、美团、艺龙、

Copyright 2024.依依自媒体,让大家了解更多图文资讯!