51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 4092|回复: 11
打印 上一主题 下一主题

selenium rc的性能问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-8-13 21:10:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前段时间在网上down了一套别人写好的调用selenium rc的程序,不过作者可能为了通用性,用了xpath来定位,而ie对xpath的性能支持实在太差,执行一个命令要1-2秒钟,这样一个窗口有时需要5-10分钟,简直难以忍受,在实习生的怨声载道中,不得不改进方法,于是用dom代替xpath,代码上反而比以前减少了很多,而且1秒钟能执行几十个命令,一个原本需要10分钟的测例现在1分钟就搞定了,效率大大提高,执行用例的人也不再叫慢了,呵呵,其实也蛮简单,大概用了半天时间就搞好了,看来自动化测试里还是有很多东西要学的
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-8-14 10:14:39 | 只看该作者
楼主简单写个例子吧~
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-8-14 12:10:28 | 只看该作者
比如xpath=//table[@id='%1$s']//tr[%2$s]//td[%3$s]//input[@type='text' and @name='%4$s']
现在用dom=document.getElementById('%1$s').cells[%2$s]
具体语法可以网上查查,很多帮助的
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-8-14 12:13:03 | 只看该作者

回复 3# 的帖子

感谢感谢~
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2009-8-14 13:50:29 | 只看该作者
大家互相学习
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-8-15 20:13:12 | 只看该作者
xpath 可是SC的标配

真的很慢!?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2009-8-16 16:55:10 | 只看该作者
有没有其他更加详细的例子??
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2009-8-17 11:41:41 | 只看该作者
还有这一说,以前没考虑过,只是发现一样的代码在firefox下执行速度确实比ie下快很多,原来是xpath影响了解析速度啊?哈哈,照你的说法,用dom方式识别方式在ie下和firefox下执行速度相同么??可是最简单的id=xxxxx这样的选择器,在ie下好像还是明显慢于firefox,这是为啥呢?难道selenium对应id=xxxxx这样的实现不是通过dom的getElementById()而是通过xpath=//xxxx[@id=xxxxx]么?
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2009-8-17 12:08:31 | 只看该作者
xpath 主要用于解析XML结点
跟dom不沾边
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2009-8-17 12:24:19 | 只看该作者
是的,xpath是为xml解析用的,可是selenium可以通过xpath来定位元素,估计它是把html当成xml来做的解析吧,具体也不清楚是什么机制,但是selenium确实可以用xpath定位和操作页面元素,新的html规范不是越来越xml化,越来越规范了嘛
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2009-8-17 13:21:55 | 只看该作者

看了下源码,搞清楚了

Selenium IDE录制时生成XHTML文件

见例
//selenium-ide\trunk\src\content\testSuite.js

// TODO make this configurable
TestSuite.header =
    '<?xml version="1.0" encoding="UTF-8"?>\n' +
    '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n' +
        '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">\n' +
    "<head>\n" +
    '  <meta c http-equiv="content-type" />' + "\n" +
    "  <title>Test Suite</title>\n" +
    "</head>\n" +
    "<body>\n";

TestSuite.footer =
    "</body>\n</html>\n";

[ 本帖最后由 xiaoshancom 于 2009-8-17 13:24 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2009-8-17 14:54:50 | 只看该作者
ie对xpath的支持不好,而dom的速度要块很多,至于原因没有功夫细究
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-4 14:29 , Processed in 0.089751 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表