精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-06-14
最后修改:2010-06-14
加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析技术背景 问题与挑战 解决方案 使用Dom定位器来对HTML元素定位,该Locator表达式需要以“dom=” 或者是“document.”开头的形式,Selenium会执行这段javascript片断来最终地取得我们需要访问的HTML元素,由此在Dom定位器中,可以使用Web页面中的DOM对象来获取文档内的所有HTML元素。 需要注意一点的是,Selenium执行这段javascript片断的时候,是采用整段javascript脚本执行的值,也即是在这段javascript片断中最后一个表达式的值。 使用Dom定位器后,在IE上脚本执行的时间比使用Xpath的时候短很多,基本上跟在Firefox上面所花费的时候基本相当。 请参照以下的一个性能对照表:
依照以上表格,不难发现,使用XPath定位器,能使得定位器比较简单,而对于比较复杂的对象(无IE和Name的动态对象)在使用Dom定位器则非常的复杂。由于XPath在IE下的效率极其低下,也只能使用Dom定位器来支持IE浏览器。 在Selenium RC1.0.1版本发布后,Selenium增加了一个新的Xpath的javascript库:Cybozu Labs' faster library。
由以上表格可见,在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定位器,请参考下面的对照表格。
环境设置描述 使用工具简介 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-06-23
最后修改:2010-06-23
很好的经验,收藏一下先。我也在项目中用selenium来做功能流程和浏览器兼容的自动化测试,感觉还不错。
不过发现这是一广告帖后,我还是要鄙视一下作者。 |
|
返回顶楼 | |
发表时间:2010-07-15
Selenium还是无法较好的解决Timing Issue的问题~~个人感觉走UI Automation就是条死胡同...
|
|
返回顶楼 | |
浏览 4678 次