Selenium 使用介绍(Selenium IDE/Core/Core HTA/RC)
上一篇 / 下一篇 2010-03-22 22:40:54 / 个人分类:selenium
工具特色
- 开发人员,测试人员均可使用的一款测试工具
- 支持IE、FireFox等浏览器;测试环境可以和程序代码一同部署于应用服务器下,也可单独搭建。
- 用于测试驱动开发TDD、Smoke Test、Regression、Acceptance testing等
- 免费、脚本简单(HTML files)、不需要额外的环境
cCJ8{.i-Of4F0
}*X b3c!b!U$B5Ah0从Selenium IDE 开始
安装
- 安装Firefox
- 下载Selenium插件:http://selenium-ide.openqa.org/
- 将插件拷贝至Firefox/extensions目录下(通常为C:\Program Files\Mozilla Firefox\extensions\)
- 重启Firefox,会执行自动安装。
- 在“Tools”下能够看到“Selenium IDE”插件安装完毕。
录制
I&D6h}'h s]0
;zol[[]0录制好的脚本
51Testing软件测试网}*N6|cDzkBn2jSelenium html脚本,又称为Selenese,结构清晰简单:
q9hiQ,U Nk~ @0,Z#}cz*d0
DhKD2g-b0<head>51Testing软件测试网-k7mr&\$Xi5f`~a
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">51Testing软件测试网R^4VDbM,ST
<title>Becky02</title>
3{,H,f$LZ9H0 </head>
.h8dMD,LQ0 <body>
)UC(zMi0 <table cellpadding="1" cellspacing="1" border="1">51Testing软件测试网,~+z[yF;\ T{9D/DV
<thead>51Testing软件测试网9QA$Wfj*V!VL
<tr><td rowspan="1" colspan="3">Test02</td></tr>
bzui/O"x w0 </thead><tbody>
6c/N,vqTEc0 <tr>51Testing软件测试网{o2b B5ygN4h
<td>open</td>
G LZ6G6p4E`"B(qZ$shB0 <td>http://www.google.com/</td>
` E'R g+``P0 <td></td>51Testing软件测试网)P4hiP pI!w4Q mw{ i
</tr>
SuUx~S0 <tr>51Testing软件测试网Y3j7SB:b9Q(z
<td>type</td>
c%L6h)y$@B x)L8D0 <td>q</td>
#A.`[u3J0 <td>ddddddd</td>
rCt:sf6[4A5d*X@/r0 </tr>51Testing软件测试网1UCM3_L3z%Y
<tr>
+mwvboe0 <td>clickAndWait</td>51Testing软件测试网 fl0N}Y^-n l:\
<td>btnG</td>51Testing软件测试网2fI$t[EGG
<td></td>
v2T]m[ cOO0pe0 </tr>51Testing软件测试网l8S3MVA c.mi
<tr>
Y/@3Iu;q!]u$GZ0 <td>assertText</td>51Testing软件测试网My U F!p4uO Gl
<td>sd</td>51Testing软件测试网y7x,c$uapu I
<td>Web</td>51Testing软件测试网5b Vev8} _0{n
</tr>51Testing软件测试网H!YtG'k r:p
</tbody></table>51Testing软件测试网 ]3_Y4E~n
</body>
P'U wZB4c6\k0 </html>51Testing软件测试网kn1{G|Bg+F
Q9VL3CD/c&H0
}F$X"?M oFA8S051Testing软件测试网S!l8}fWa-{Fy是一个HTML Table:
%u/a+O^xoz a]8YW0Test02 | ||
open | http://www.google.com/ | |
type | q | ddddddd |
clickAndWait | btnG | |
assertText | sd | Web |
p{6c%lS051Testing软件测试网]1J m ~9mA:Gf L"ZO:K
HTML Table 由三列构成:
OC7Jaj-E051Testing软件测试网L%~ p.JoPFirst Column: Selenium command,命令或断言。51Testing软件测试网*~9_(HGZ7w
#fT%ax9j|y&R9i0Second Column: Target of command,命令或断言的目标(target)。这里可以用多种受支持的组件定位符中的一种来指定目标。通常使用的是组件的 ID 或名称,但 XPath 和 DOM 定位符也是受支持的;51Testing软件测试网4qtD3Afo
-p_&ikY RY0Third Column: Optional parameter,用于为命令或断言指定参数的值。例如,当使用 type 命令时,这一列可能就是一个文本域所期望的值。
e;n[chU {0N dsS!uf|W0
"gDv$k XX051Testing软件测试网0i)Xl(O*e*IVi\在selenium core的发布包里,也有此reference,下文中即将提到。
2?%I[q5~D9Y0i;@7y2X*J&qlE0对于自动化测试来说,任何录制/回放工具得到的脚本,都是要进行修改的,这样能够增加脚本的健壮性。将脚本存为html文件。最终的脚本也要至少回放一遍通过才能算完成,在Selenium IDE中,点播放按钮观看放映。
TAFr&O?2e'p0\f5S!t"mRp"s0 51Testing软件测试网!s(C(S:i,Hr(t
Selenium Core使工作更有条理
51Testing软件测试网&S5UC;S0h:Bz51Testing软件测试网\d"C2\5@
下载安装
{t1{sb1[4eJk[0Selenium Core位于:51Testing软件测试网PkA7] T| Q5j
51Testing软件测试网sX4Y,h0Yhttp://selenium-core.openqa.org/
5]{!~ ]6o5{0eNd0udLVP$j]MP6f0它是一个zip包,需要应用服务器的支持,此处对于应用服务器的部署等省略,将zip包放入待测试的Web程序下,启动应用服务器,打开 URL:http://localhost:8080/selenium/ ,进入 “Selenium TestSuite”。TestSuite用于将具有类似功能的一些测试用例编成一组,以便它们按顺序运行。TestSuite和Test Cases一样,都是用简单的 HTML 表编写的。Selenium 执行的缺省TestSuite的名称是 TestSuite.html,位于tests文件夹下。51Testing软件测试网 qof/U_
B3~N)y&_k0 51Testing软件测试网bGZ [)c,h&~(Ol]
<body onload="filterTestsForBrowser()">
5y$b:{3aH8w9g051Testing软件测试网2u0A {1h;~"N6|/b.D+I
<table id="suiteTable" cellpadding="1"51Testing软件测试网.|:R8s_6O5^efV L
cellspacing="1"
!rF-|8r;f-i]M0 border="1"
AkHpa9j5x4f1\"A0 class="selenium">51Testing软件测试网,[ h\ HL{
<tbody>
G0O3W2m?3KjC Jw-Q3L/{0 <tr><td><b>Test Suite</b></td></tr>
.L#mn;T2@0 <tr unless="browserVersion.isSafari" ><td><a href="./events/TestMouseEvents.html">TestMouseEvents</a></td></tr>
N9kk{:N#i6G)U:Aic0 <tr><td><a href="./TestBrowserVersion.html">TestBrowserVersion</a></td></tr>
gV}qZ$R0 <tr><td><a href="./TestJavaScriptAttributes.html">TestJavaScriptAttributes</a></td></tr>
Q(gC%e4o[XO0 <tr unless="browserVersion.isKonqueror || browserVersion.isSafari"><td><a href="./events/TestKeyEvents.html">51Testing软件测试网!E.PE8}3s(Q0q
TestKeyEvents</a></td></tr>
v%e/i(SI0 <tr unless="browserVersion.isKonqueror || browserVersion.isSafari"><td><a href="./TestVisibility.html">TestVisibility</a></td></tr> 51Testing软件测试网!A!_B/fnI
<tr><td><a href="./TestFramesOpen.html">TestFramesOpen</a></td></tr>
2c:o3m?4}!f3k _`0 <tr><td><a href="./TestFramesNested.html">TestFramesNested</a></td></tr>51Testing软件测试网\ j!O#CEIm S
<!--更多省略,请自行阅读文档-->
zl`+^*d?\3^0
51Testing软件测试网8\u\DA ]E7o
mDluZ0以上是一个官方版TestSuite的摘录,参照例子,组织自己的Test Cases,写成TestSuite,放入tests文件夹,便可在浏览器中执行(适用于各种浏览器),例 如:http://localhost:8080/selenium/core/TestRunner.html?test=../tests /myTestSuite.html51Testing软件测试网xw5h$Q E Ou5w
MXarr/e5@8CB0值得注意的是:Selenium Core的tests里包含了很多Selenium Command的例子,值得好好研习。51Testing软件测试网Y[0CJn:R
Selenium Core的不足之处
- 它需要和应用同时部署于应用服务器之下,在有些项目中并不方便操作。
- 它不能将任何测试结果写到磁盘上(因为它是用javascript写的,它不允许向磁盘写数据),当然你可以将测试结果发送到另外一台服务器保存,这就是下文即将介绍的Selenium Core HTA 和 Selenium RC。