配置selenium rc for HTTPS测试
上一篇 / 下一篇 2012-03-26 15:14:16 / 个人分类:Selenium
配置selenium rc for HTTPS测试
51Testing软件测试网!t,d`!Xj-U
selenium is an automation tool, you can get it form. here: seleium.openqa.org
selenium is an automation tool, you can get it form. here: seleium.openqa.org
9d3QsbG8n a0用selenium测试HTTPS比较麻烦,搞了三天才将基本的东西设置好
1。选择工具
(y~#_G7[Lz;I1Z0selenium有好几种,首先需要确定的是哪种工具适合
(y~#_G7[Lz;I1Z0selenium有好几种,首先需要确定的是哪种工具适合
* selenium IDE: 是一个firefox的plug-in,这个基本上对任何测试都有用,主要是因为可以省下大量的手写测试的时间。根据我的经验,最新的版本(1.0 beta)在RHEL 5.0上不能用,所以我用的是0.87版本。
g7v2{[{0在这里下载:http://selenium-ide.openqa.org/download.jsp不过它只能在firefox上用
g7v2{[{0在这里下载:http://selenium-ide.openqa.org/download.jsp不过它只能在firefox上用
51Testing软件测试网fp8K$W/jqr
* selenium rc : 这个是用来遥控的。(rc = remote controller)如果你需要在一台电脑上控制其它几台电脑进行测试,我用的就是这个。不过我用它的主要原因是它支持比较多的脚本语言(perl,python。。。)写自动测试程序比较容易
* selenium rc : 这个是用来遥控的。(rc = remote controller)如果你需要在一台电脑上控制其它几台电脑进行测试,我用的就是这个。不过我用它的主要原因是它支持比较多的脚本语言(perl,python。。。)写自动测试程序比较容易
{p8L+nh#PZyj0* selenium core : 只能支持Selenese语言(a simple scrīpting language. Selenese has a number of strict limitations: it has no conditionals (no "if" statements), and it has no loops (no "for" statements). This can make writing complicated tests difficult or even impossible.)如果需要知道比较具体的区别的话,还是看它们自己的文件:http://wiki.openqa.org/pages/viewpage.action?pageId=7632
图片看起来好像复杂,但是实际上我们可以将所有的部件放到一台机器上。我们需要了解的是它的工作流程。
/u/na Z$bU3IX0selenium包含三个部件:
y l4F-cD0测试程序(testing scrīpt)51Testing软件测试网'D1W*X1qg\r-o
selenium rc (selenium server)51Testing软件测试网/t,u5ZfB;v-Q,^Y JG
browser (firefox, in my case)
ZCc,Pr ]h!e0他们之间的关系如下
er+}:?C*a3RXA0testing scrīpt <=>selenium server <=> browser
M GA;r"bp#lg!\#P0(1)测试程序将HTTP/HTTPS请求发给selenium server
/I7[(N'dJ0(2)selenium server将请求转发(also called proxing)给browser,51Testing软件测试网%p}3@p2IZ|C
(3)browser 执行请求,得到执行结果,然后回复给selenium server51Testing软件测试网v1S pX GYP/L
(4)selenium server 将回复转发给测试程序*51Testing软件测试网1h&p.ZhoQ
(5)测试程序检验测试结果,记录之,然后执行下一个测试
/C6y.O7c~H @8g\0这个过程中,selenium server和browser必须要在同一台机器上,但是测试程序可以随意。我的配置是三者都在同一台机器上。
/u/na Z$bU3IX0selenium包含三个部件:
y l4F-cD0测试程序(testing scrīpt)51Testing软件测试网'D1W*X1qg\r-o
selenium rc (selenium server)51Testing软件测试网/t,u5ZfB;v-Q,^Y JG
browser (firefox, in my case)
ZCc,Pr ]h!e0他们之间的关系如下
er+}:?C*a3RXA0testing scrīpt <=>selenium server <=> browser
M GA;r"bp#lg!\#P0(1)测试程序将HTTP/HTTPS请求发给selenium server
/I7[(N'dJ0(2)selenium server将请求转发(also called proxing)给browser,51Testing软件测试网%p}3@p2IZ|C
(3)browser 执行请求,得到执行结果,然后回复给selenium server51Testing软件测试网v1S pX GYP/L
(4)selenium server 将回复转发给测试程序*51Testing软件测试网1h&p.ZhoQ
(5)测试程序检验测试结果,记录之,然后执行下一个测试
/C6y.O7c~H @8g\0这个过程中,selenium server和browser必须要在同一台机器上,但是测试程序可以随意。我的配置是三者都在同一台机器上。
测试环境配置 (testing environment configuration)
^9\]y&` p Nb8F(sX0* perl (我使用的是perl) 51Testing软件测试网/\6e3tcI&i)I'}%r
用perl写selenium的测试程序需要首先安装必要的module: Test::WWW::Selenium 51Testing软件测试网UT0i%A7~ G^m
我的安装方式如下: 51Testing软件测试网4KR]W\
$> yum install perl.CPAN.386
N0K+l ^l9d;O0 -- yum 是linux里面的程序包安装程序 51Testing软件测试网Y4W/PN${?
$> perl -MCPAN -e "install Test::WWW::Selenium"
n8]~E3T%Jk9N)Az{n0 --安装Selenium会同时要求你同时安装一些其它的module,比如Test::Mock Test::MockObject Test::More Test::Exception Test::Mock:LWP Test::Pod. 如果你的CPAN配置好了的话,这些安装都是自动的,安装过程中如果有提问,直接回车就好,一般不会有太多问题 (如果需要重新配置perl CPAN,比如说我
mL1d R/}!zm6K0 $> perl -MCPAN -e "shell\"
d-] ? Yi&OT0 CPAN> o conf init
^9\]y&` p Nb8F(sX0* perl (我使用的是perl) 51Testing软件测试网/\6e3tcI&i)I'}%r
用perl写selenium的测试程序需要首先安装必要的module: Test::WWW::Selenium 51Testing软件测试网UT0i%A7~ G^m
我的安装方式如下: 51Testing软件测试网4KR]W\
$> yum install perl.CPAN.386
N0K+l ^l9d;O0 -- yum 是linux里面的程序包安装程序 51Testing软件测试网Y4W/PN${?
$> perl -MCPAN -e "install Test::WWW::Selenium"
n8]~E3T%Jk9N)Az{n0 --安装Selenium会同时要求你同时安装一些其它的module,比如Test::Mock Test::MockObject Test::More Test::Exception Test::Mock:LWP Test::Pod. 如果你的CPAN配置好了的话,这些安装都是自动的,安装过程中如果有提问,直接回车就好,一般不会有太多问题 (如果需要重新配置perl CPAN,比如说我
mL1d R/}!zm6K0 $> perl -MCPAN -e "shell\"
d-] ? Yi&OT0 CPAN> o conf init
* JAVA51Testing软件测试网~9[QnV
}jSX)BR
Selenium server 是用Java写的,所以你需要有JAVA。我开始用的是IBM JAVA 1.5后来才发现不行,就转到了SUN的JRE1.6
Selenium server 是用Java写的,所以你需要有JAVA。我开始用的是IBM JAVA 1.5后来才发现不行,就转到了SUN的JRE1.6
* Selenium Core : 在selenium rc 的网站上说需要 selenium core,但是我的经验是不必管它
* Selenium Server: 51Testing软件测试网!R&Y8?{yc2{
** 下载: Selenium 1.0 Major release
:b3FJZxe0** unzip selenium-remote-control-1.0-beta-1-dist.zip 51Testing软件测试网!a+tu\K
** 到这里其实就可以了,但是让程序跑起来,这里需要一个额外的配置: 将firefox-bin放到系统路径里面去
u3b)C!X!ytf0 $> export PATH=$PATH:/usr/lib/firefox-1.5.0.9*
** 下载: Selenium 1.0 Major release
:b3FJZxe0** unzip selenium-remote-control-1.0-beta-1-dist.zip 51Testing软件测试网!a+tu\K
** 到这里其实就可以了,但是让程序跑起来,这里需要一个额外的配置: 将firefox-bin放到系统路径里面去
u3b)C!X!ytf0 $> export PATH=$PATH:/usr/lib/firefox-1.5.0.9*
Pk[$MpY0* HTTPS 51Testing软件测试网 v_6d$|dL}{
前面的都很简单。如果你不需要测试HTTPS,那么前面的配置就足够了。但是要让selenium server用HTTPS,还需要将一个专门用于测试的cert放到firefox里面去。步骤如下:
Q ^:LD+ZO%A"_9U)bk0** open firefox
;RDo3Y5b"[T!u0** import certificates: 51Testing软件测试网[sS&V