奋斗了几天Selenium,小总结下
SeleniumIDE Selenium
Remote Control Selenium
Core Selenium
Core HTA 浏览器支持 仅Firefox 很多 所有 仅IE 需要远程安装 否 否 是 否 支持 HTTPS/SSL 是 否 是 是 支持跨域 是 否 否 是 需要Java 否 是 否 否 将测试结果保存到磁盘 是 是 否 是 多语言支持 仅Selenese 很多 仅Selenese 仅Selenese
+++++++++++++++++++++++++++++++++++++++++++++++++
新来的架构师要我们使用selenium,我也从不知道这个单词啥意思,到能读,能盲打这个单词...........题外话了
看到上面那张表,我根据这张表,下载了IDE,RC,CORE,最后那个,就没下载
先说IDE,下载之后是个xpi文件,扔进 firefox,就自动安装了,这个很简单,图解网上都有,不多说了,可以录制,可以回放
再说CORE,我在测试机上有个Apache服务,我用来放TL的,放到\xa\xampp\htdocs\selenium-core 下,访问 IP/selenium-core/core/TestRunner.html 就可以访问了
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
(这一部分欢迎讨论!)
有个说法是先用IDE录制脚本,再用CORE回放,就可以顺利用
但是我用IDE录好的脚本也不知道怎么放到CORE下,资料没找到,后来又听说CORE和你所测试的服务必须在一个WEB服务下(同源安全策略)
我靠,我要测试的东西
是以JBOSS为容器,SQL2005为数据库的JSP,CORE又是放在Apache服务下的,要继续研究?看看CORE的很多不足,我放弃进一步研究了+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
以下部分说起来简单,对于没碰过开发平台的人来说,自己瞎摸真是困难,关键问题还是抓了个开发过来才解决:
于是RC版本,登场了
据说要用到eclipse,于是问开发要了一套myeclipse,怎么弄呢,虽然代码基础还记得,但是开发环境从来没碰过
只好照葫芦画瓢:
打开myeclipse,建立一个java project,在项目目录下建立一个LIB文件夹,将selenium-remote-control/selenium-java-client-driver.jar包复制过去
(junit由于eclipse自带就没有导入,selenium-remote-control\server\selenium-server.jar包我也没导入,用手动CMD另外启动的>java -jar selenium-server.jar)
这里倒有个教程:http://blog.csdn.net/zhuangxiu/archive/2007/08/09/1733194.aspx
不过我要加一步(很重要,初学者注意):
在eclipse左边的树形结构,有navgator,package explorer
点package explorer切换,在LIB文件夹处,右键点击selenium-java-client-driver.jar,选择bulid path,
add to bulid path(因为eclipse不知道你引入了JAR包)
做完这些工作,可以在项目下建立一个CLASS,我将Testgoogle.java的代码复制过去,调试下,如果有哪个类没有引用
停在该类下,“ctrl+1”就可以import相关的类,一般会需要修改下需要引入的selenium类或者junit类
回放成功! CMD窗口的sever服务也有反应!
就这点步骤,忙活了大半天,有错误请大家一起来讨论!
[ 本帖最后由 soerd 于 2009-2-3 16:11 编辑 ] 试着在FIREFOX下用IDE录我们的软件产品,登陆页面就问题多多
1、浏览器会自动保存用户名和密码,而我进入网址IP也是复制的,以上都没有被录制下来(某高人说自己网站95%的东西IDE都录制不下来)
2、把用户名和密码去掉,重新填写,用户名的提交录下了,但是密码的填写还是没有录下(象Mercury的产品都是会记录你提交了什么数据,IP,ID,密码)
3、在IDE下录的脚本不能完全不改的放到eclipse里跑(已经转化为RC-JAVA),只能拿动作类那部分替换范例里的动作部分来跑(只有如下动作部分才能使用,其余部分我是配合Testgoogle.java的代码,平常的话,条件构造还是要自己来写),这点和预想的差太远了
public void setUp() throws Exception {
setUp("http://change-this-to-the-site-you-are-testing/", "*chrome");
}
public void testNew() throws Exception {
selenium.open("/vmain/login.jsp");
selenium.type("j_username", "soerd");
}
5、本公司的产品是个业务逻辑比较强的业务协同平台,标准版本产品大约一个季度可能才发一个标准包,大部分的测试工作是针对项目中的客户需求的项目包(实施人员做了大量改动),很难预测自动化脚本的复用性有多高
[ 本帖最后由 soerd 于 2009-2-3 16:13 编辑 ]
版本之间的详细区别
1、Selenium Core 测试核心,采用javascript实现,由于js本身安全限制,只能对单站进行测试,不能进行https和http的切换,需要将Selenium Core和你的测试部署在你正在测试的应用程序里面。测试员无须很高的编程语言知识。适于黑盒测试2、Selenium IDE: firefox插件,能实现远程测试而无须对远程的系统做任何额外配置或者任何安装,能进行https和http的切换,但限于firefox。测试员无须很高的编程语言知识,适于黑盒测试。
3、Selenium Remote Control: 采用java编写的代理服务器,测试脚本可以采用多种语言编写: java .NET, Perl, Python, Ruby。 适合程序员编写,能于业务代码同步,适于白盒测试。
4、Selenium Core HTA : 运行于IE高安全模式,仅仅支持IE(这应该是应用最少的一种方式),测试员无须很高的编程语言知识。适于黑盒测试 顶,楼主做的很认真!
页:
[1]