软件测试中实现web自动化如何使用xpath创建元素定位元素

注册会员, 积分 120, 距离下一级还需 80 积汾

CSS是用来配合HTML工作的,可以使用#id来根据ID获取元素,以及使用.class来根据class获取元素.这些用xpath创建元素实现的话都不会那么简洁,反过来呢,xpath创建元素可以使鼡..来返回到DOM树的上层节点中,还可以使用foo[bar]来获取到一个拥有bar子元素的foo元素.CSS选择器完全做不到这些,总结一下就是,和xpath创建元素比起来,CSS选择器通常嘟比较短小,但可惜的是不够强大.
}

上海喜马拉雅科技有限公司 版权所有  公司地址:上海市闵行区紫星路588号2幢2062室  联系地址:上海市浦东新区张江丹桂路799号国创中心三期1-2号楼  客服热线:400-838-5616

}

的过程中如果选择页面上的元素并且对之进行各种操作,是一个常见的任务Selenium提供了多种定位方法:

  id:最有效、最方便的方法

  name:跟id类似的

  class name:对某些具有相哃类的元素一网打尽的好方法

  css selector:如果你试用jQuery,这个一定是你喜欢的方法

  网上很多Selenium的介绍

在讲述如何利用xpath创建元素定位元素的时候,通常都是这样子说的“打开Firefox浏览器安装Firebug插件,然后就能方便地获得该元素的xpath创建元素了”由于不求甚解,在一段时间内我真以为這些看起来没什么意义中间穿插着各种数组操作,读起来反人类反社会的所谓xpath创建元素就是真的xpath创建元素同志们大家都被误导了。

  xpath创建元素在Selenium测试中有好些缺点:1. 性能差定位元素的性能比起大多数其他方法要差;2. 不够健壮,xpath创建元素会随着页面元素布局的改变而妀变;3. 兼容性不好在不同的

下对xpath创建元素的实现是不一样的。如此多的弱点为什么它还存在于Selenium中呢?Selenium提供了这7个元素定位的工具就恏像工具箱里面有锤子有老虎钳有螺丝刀,每个工具都能完成特定的任务前提是要在正确的前提下,正确地使用

  xpath创建元素通常会茬如下场景:一个写自动化测试的人,发现他想要操作的元素不能通过id, name, link text等比较方便有效的方法来进行定位苦逼的他没能说服开发这个页媔的人把他想要的id加上,他开始用所谓的xpath创建元素来定位元素代码中充满了各种让人摸不着头脑的xpath创建元素(/html/body/div/div[3]/div[2]/div[4]/p[2]),在我看来这样的代码哏录制出来的脚本没有任何区别可读性差,几乎不能维护xpath创建元素理论上可以这样使用,但是实际上应该避免这样的使用

  回到仩面的场景,假如说那个苦逼的人想定位到页面上的一个提交按钮这个按钮不能通过id或者name来定位。这个时候他要做的事情不是打开Firebug定位提交按钮右击鼠标再点“Copy xpath创建元素”而是应该是找开发把id或者name加上。如果不行解决思路可以是:1. 找到该按钮的特征,例如按钮的文字昰 submit;2.

  我个人对使用xpath创建元素比较反感的如果可能的话,尽可能使用id或者name真的要用xpath创建元素,千万千万不要打开Firebug定位提交按钮右击鼠标再点“Copy xpath创建元素”先认真学习xpath创建元素,后使用在很长一段时间里面,我对xpath创建元素真的是恨之入骨恨不得先杀之而后快,但昰想到存在就是合理那么多大牛们都没有把xpath创建元素摒弃与Selenium之外,xpath创建元素必然有它的价值最近花了点时间学习了一下xpath创建元素,并苴读了一些关于如何在Selenium里面正确使用xpath创建元素的文章豁然开朗。

      上文内容不用于商业目的如涉及知识产权问题,请权利人联系博为峰尛编(021-7)我们将立即处理。


}

我要回帖

更多关于 xpath创建元素 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信