今天花了一些时间来学习Selenium这样一个测试框架。从介绍来看,Selenium大致是用来作Web应用的接收测试的。类似的值得关注的框架还有Sahi。学习的目的是要找到自己适用的测试框架,减轻平时的测试负担。从目前了解到的接收测试部分的开源测试框架来看,Selenium应该是最强的。大致把截至目前了解到的列一下。
Selenium IDE
这个应该是最初吸引自己了解Selenium的一个噱头。是一个firefox插件,可以用来录制测试人员的浏览器操作以便回放,避免了繁重的测试脚本的撰写。直接使用Selenium IDE就可以作录制测试脚本跟回放该测试脚本的动作,所以要体会Selenium的功能可以先使用这个。用这个测试了一下MES的登录界面,蛮有意思的 。Selenium IDE可以将录制的测试用例存为html格式以备之后再用,此外Selenium IDE还可以将测试用例导出为其它语言格式的测试脚本,方便在其它环境下作测试。
Selenium Core
应该是Selenium的核心组件。因为通常的javascript权限限制,使用Selenium Core进行测试要求将其部署到同目标应用相同的Server(同host同port)上运行。Selenium Core的测试操作界面当然是Web形式,在其中运行的测试用例都要以TestSuite的形式预作包装,TestSuite也是html文件。我是手动编辑的这个TestSuit.html,把测试MES登录界面的那个testcase写进来,然后把2个html文件放到Server上面。访问Selenium Core的操作画面,打开TestSuit.html,运行测试,成了。
Selenium RC
应该是Selenium的远端控制运行环境。使用Selenium RC可以获得比单纯使用Selenium Core更为灵活的测试环境。之前提到的Selenium IDE中导出的其它语言格式(比如Java)的测试脚本大致就是在这里运行的。既然是远端控制,那么就不需要部署到跟目标应用相同的Server上了,而是自带了一个Selenium Server,一方面用来操控Browser的行为(通过ajax XMLHttpRequest方式),另一方面要充当Browser跟应用之间的proxy。另外Java实现的测试脚本要通过Selenium Client Driver来跟这个Selenium Server沟通。以这样的架构,如果再用Junit框架或是ANT来叫用这些Java测试脚本,就大致可以实现一定程度的自动Web测试了!不过今天在Eclipse上试了下Junit叫用Selenium测试用例没有成功,console报:
还不知道出了啥问题 ? 过后再看啦。
嗯,Selenium~持续关注中。
Selenium IDE
这个应该是最初吸引自己了解Selenium的一个噱头。是一个firefox插件,可以用来录制测试人员的浏览器操作以便回放,避免了繁重的测试脚本的撰写。直接使用Selenium IDE就可以作录制测试脚本跟回放该测试脚本的动作,所以要体会Selenium的功能可以先使用这个。用这个测试了一下MES的登录界面,蛮有意思的 。Selenium IDE可以将录制的测试用例存为html格式以备之后再用,此外Selenium IDE还可以将测试用例导出为其它语言格式的测试脚本,方便在其它环境下作测试。
Selenium Core
应该是Selenium的核心组件。因为通常的javascript权限限制,使用Selenium Core进行测试要求将其部署到同目标应用相同的Server(同host同port)上运行。Selenium Core的测试操作界面当然是Web形式,在其中运行的测试用例都要以TestSuite的形式预作包装,TestSuite也是html文件。我是手动编辑的这个TestSuit.html,把测试MES登录界面的那个testcase写进来,然后把2个html文件放到Server上面。访问Selenium Core的操作画面,打开TestSuit.html,运行测试,成了。
Selenium RC
应该是Selenium的远端控制运行环境。使用Selenium RC可以获得比单纯使用Selenium Core更为灵活的测试环境。之前提到的Selenium IDE中导出的其它语言格式(比如Java)的测试脚本大致就是在这里运行的。既然是远端控制,那么就不需要部署到跟目标应用相同的Server上了,而是自带了一个Selenium Server,一方面用来操控Browser的行为(通过ajax XMLHttpRequest方式),另一方面要充当Browser跟应用之间的proxy。另外Java实现的测试脚本要通过Selenium Client Driver来跟这个Selenium Server沟通。以这样的架构,如果再用Junit框架或是ANT来叫用这些Java测试脚本,就大致可以实现一定程度的自动Web测试了!不过今天在Eclipse上试了下Junit叫用Selenium测试用例没有成功,console报:
java.lang.NoClassDefFoundError: org
/
openqa
/
selenium
/
server
/
browserlaunchers
/
WindowsUtils
还不知道出了啥问题 ? 过后再看啦。
嗯,Selenium~持续关注中。