介绍 Selenium是ThoughtWorks专门为Web应用而开发的自动化测试工具,适合进行功能测试、验收测试,其最大的优势有几点: · 可直接运行在浏览器之上,所见即所得,就像真实用户所做的一样。Selenium的核心,也称browser bot,是用Javascrīpt编写的。这使得测试脚本可以在受支持的浏览器中运行。browser bot负责执行从测试脚本接收到的命令 · 支持多操作系统(Windows, Mac OS和Linux)和各种浏览器Internet Explorer、Mozilla和Firefox,更容易发现浏览器的不兼容性 · 支持两种开发脚本的模式test runner(HTML文件)和driven(脚本语言编写),其语言包括Java, .NET, Perl, Python和Ruby.使用driven脚本,测试有一部分在浏览器之外运行,而如果使用test runner脚本的话,测试是完全在浏览器中运行的。 但是Selenium是轻量的测试框架,脚本所处理的测试用例构成简单,其实质就是通过HTTP协议,发送请求(request)来完成测试用例,所以很困难处理业务逻辑关系强的测试用例。 更多的讨论:http://forums.openqa.org/index.jspa Selenium命令 Selenium命令分成两类 ——操作(action)和断言(assertion): · 操作模拟用户与Web应用程序的交互。例如,单击一个按钮和填写一个表单,这些都是常见的用户操作,可以用Selenium命令来自动化这些操作。 · 断言验证一个命令的预期结果。常见的断言包括验证页面内容或当前位置是否正确。 在Selenium网站上可以找到可用命令的完整列表。通过Selenium命令,脚本编写者可以描述browser bot在浏览器中所执行的操作 组成 · Selenium IDE:一个firefox的plug-in,可以录制和回放并保存一些test cases,可以生成一些简单的基于rc模式的简单code.(相当于Jmeter的gui模式和jmeter脚本的生成-badboy) · Selenium Core.整个测试机制的核心部分,即有assertion(断言)机制的test suite runner。它由一些纯js代码组成,可以运行在windows/linux的不同browser上(相当于Jmeter的runner跟Assertion) · Selenium Remote Control:一个代理与控制端,可代替Selenium core/ Selenium IDE的client端(相当于通过编程来实现一切),是支持多语言的. (相当于Jmeter的client/server模式,但Selenium Remote Control更强一些) 支持的平台 · Windows: o Internet Explorer 6.0 o Firefox 0.8 to 1.5, Mozilla Suite 1.6+, 1.7+ o Seamonkey 1.0, Opera 8 · Mac OS X: o Safari 1.3+ o Firefox 0.8 to 1.5, Mozilla Suite 1.6+, 1.7+ o Seamonkey 1.0, Camino 1.0a1 · Linux: o Firefox 0.8 to 1.5, Mozilla Suite 1.6+, 1.7+ o Konqueror 部署Selenium 下载地方:http://www.openqa.org/selenium/ selenium目录下的内容: devtests:试验性功能dom-images:查看DOM用图片 dom-styles:查看DOM用样式表 html-xpath: Xpath库 jsmock: javascrīpt mock library jsunit: javascrīpt unit test library tests: samples(以这个为基础开发测试用例) 核心js文件和html文件 如果想要测试自己开发的发布在服务器端的页面,需要把selenium配置在同一个服务器下: Apache:直接将selenium目录拷贝至htdocs(Apache的确省根目录)目录下,然后启动Apache,用地址http://server:8080/selenium/TestRunner.html访问例子。 Tomcat :直接将selenium目录拷贝至webapps目录下,启动Tomcat,用地址http://server:8080/selenium/TestRunner.html访问例子。: IIS:建立一个虚拟目录selenium,将该虚拟目录直接指向实际的selenium目录,用地址http://server/selenium/TestRunner.html访问例子 |