selenium rc的性能问题
前段时间在网上down了一套别人写好的调用selenium rc的程序,不过作者可能为了通用性,用了xpath来定位,而ie对xpath的性能支持实在太差,执行一个命令要1-2秒钟,这样一个窗口有时需要5-10分钟,简直难以忍受,在实习生的怨声载道中,不得不改进方法,于是用dom代替xpath,代码上反而比以前减少了很多,而且1秒钟能执行几十个命令,一个原本需要10分钟的测例现在1分钟就搞定了,效率大大提高,执行用例的人也不再叫慢了,呵呵,其实也蛮简单,大概用了半天时间就搞好了,看来自动化测试里还是有很多东西要学的:) 楼主简单写个例子吧~ 比如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]
具体语法可以网上查查,很多帮助的:lol
回复 3# 的帖子
感谢感谢~ 大家互相学习:lol xpath 可是SC的标配真的很慢!? 有没有其他更加详细的例子??:lol 还有这一说,以前没考虑过,只是发现一样的代码在firefox下执行速度确实比ie下快很多,原来是xpath影响了解析速度啊?哈哈,照你的说法,用dom方式识别方式在ie下和firefox下执行速度相同么??可是最简单的id=xxxxx这样的选择器,在ie下好像还是明显慢于firefox,这是为啥呢?难道selenium对应id=xxxxx这样的实现不是通过dom的getElementById()而是通过xpath=//xxxx[@id=xxxxx]么? xpath 主要用于解析XML结点
跟dom不沾边 是的,xpath是为xml解析用的,可是selenium可以通过xpath来定位元素,估计它是把html当成xml来做的解析吧,具体也不清楚是什么机制,但是selenium确实可以用xpath定位和操作页面元素,新的html规范不是越来越xml化,越来越规范了嘛
看了下源码,搞清楚了
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 编辑 ] ie对xpath的支持不好,而dom的速度要块很多,至于原因没有功夫细究
页:
[1]