Selenium中使用XPath.docx
由以上表格可见,在IE下使用了Cybozu Lab的XPath library后,执行效率有了很大提升,基本上可以与使用Dom定位器相当。通过比较,在新的项目中使用Selenium来进行Web自动化开发,使用XPath定位器,可以使得定位器本生比较简洁,而且也得到较高执行效率。 在Web开发中,有较多的人使用CSS来优化Web页面效果。而Selenium也支持CSS定位器,在IE和Firefox浏览器下,使用CSS定位器时,执行的效率与XPath基本相当,而且CSS定位器同样与XPath比较简洁。所以对CSS比较熟悉的开发人员也可以使用CSS定位器来进行Selenium Web自动化开发。 终上所述,在新的Web自动化项目中推荐使用XPATH和CSS定位器 在Selenium自动化测试框架中,XPath是一个强大的工具,用于定位网页上的HTML元素。XPath原本是设计用来查询XML文档结构的,但在HTML环境中同样适用。它允许测试脚本精确地找到页面上的任何元素,无论其位置如何。然而,XPath在不同浏览器上的表现并不一致,特别是在Internet Explorer (IE)上。 由于IE9及更早版本不支持原生XPath,Selenium通过引入JavaScript-XPath库来解决这一问题。在Java环境下,可以通过以下代码切换到使用JavaScript-XPath库: ```java selenium = new DefaultSelenium(location, port, browser, targetPath); selenium.start(); if (browserString.equals("*iexplore")) { selenium.useXpathLibrary("javascript-xpath"); } ``` 这将使Selenium在IE中使用Google提供的XPath库,从而提高效率。尽管如此,相比Firefox和其他支持原生XPath解析的浏览器,IE的执行速度仍然较慢。 在开发和调试过程中,Firefox的Firebug插件是一个非常有用的工具。它可以快速定位和复制XPath表达式,以及在控制台使用 `$x(xpath)` 函数验证XPath的正确性。Firebug生成的XPath通常需要根据实际HTML代码进行微调,因为它们基于DOM树,可能与源代码结构略有不同。 除了XPath,Selenium还支持CSS选择器作为元素定位的一种方式。CSS定位器在IE和Firefox下的执行效率与XPath相当,且对于熟悉CSS的开发者来说,编写起来更加直观和简洁。CSS选择器可以更好地适应复杂的CSS布局,尤其是当HTML元素没有唯一的ID或Name属性时。 在面对不同浏览器的兼容性问题时,选择合适的定位策略至关重要。在上述案例中,由于大部分HTML元素没有ID和Name属性,DOM定位器被选用。DOM定位器通过执行JavaScript片段来定位元素,这种方法在IE上表现良好,与Firefox的执行时间接近。但是,DOM定位器的表达式通常比XPath和CSS选择器更复杂,可能会影响脚本的可读性和维护性。 总结起来,在新的Web自动化项目中,XPath和CSS定位器都是推荐的选择。XPath提供了简洁的定位表达式,而CSS定位器则易于理解和使用,尤其适合CSS熟练的开发者。在考虑兼容性和执行效率时,应根据项目需求和团队技能来决定使用哪种定位策略。在IE环境下,可以考虑结合使用JavaScript-XPath库以优化性能。
剩余7页未读,继续阅读
- wenjun158002657342013-08-22还不错吧 ,多多少少了解了一些的
- junnyjiang2018-07-04感谢楼主分享,正在使用
- 一路向南的田鼠2012-11-04Web自动化项目中推荐使用XPATH和CSS定位器
- 粉丝: 7
- 资源: 89
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助