




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Eclipse中Selenium Rc的测试脚本Selenium 的学习 2010-05-14 15:59:05 阅读194 评论1 字号:大中小订阅 一、Selenium RC 原理及简介Selenium RC模式,是客户端利用各种编程语言,通过网络向Selenium Server发送指令,Selenium Server接收到测试指令后,启动浏览器并向其发出JavaScript调用实现对Html页面的全面追踪,并通过网络把执行结果返回给调用者。Selenium Server的实现原理是其打开浏览器时,把自己的JavaScript文件嵌入网页中。然后Selenium的网页通过frame嵌入目标网页。这样,就可以使用Selenium的JavaScript对象来控制目标网页。Selenium客户端一般使用单元测试技术实现,通过判断返回的结果与预期是否一致来决定程序是否运行正确。如下图:二、准备工作1、 语言选择Selenium支持下列语言:LanguageSelenium Remote ControlC#Library (driver) supportJavaLibrary (driver) supportPerlLibrary (driver) supportPHPLibrary (driver) supportPythonLibrary (driver) supportRubyLibrary (driver) supportOthersCommands via HTTP requests*你可以用以上任意一种你熟悉的语言,编写Selenium测试脚本。本文以目前普及最广的Java语言为基础,来介绍Selenium RC2、 软件准备Selenium Remote Control Server下载地址:/download/ Eclipse下载地址:/downloads/3、 启动Selenium Remote Control Server首先在下载的RC包里,解压后找到selenium-server.jar,然后在命令行窗口里启动它,具体启动格式如下(中括号内为可选参数):java -jar selenium-server.jar -interactive options-port : selenium服务器使用的端口号(默认 4444) -timeout : 我们放弃前(超时)所等待的秒数 -interactive: 进入交互模式。参考教程获取更多信息 -multiWindow: 进入被测试网站都在单独窗口打开的模式,并且selenium支持frame -forcedBrowserMode : 设置浏览器模式(例如,所有的会话都使用*iexplore,不管给getNewBrowserSession传递什么参数) -userExtensions : 指定一个被载入到selenium的JavaScript文件 -browserSessionReuse: 停止在测试间重新初始化和替换浏览器。 -alwaysProxy: 默认情况下,我们尽量少的进行代理;设置这个标志将会强制所有的浏览器通讯都通过代理 -firefoxProfileTemplate : 一般情况,我们在每次启动之前都生成一个干净的Firefox设置。您可以指定一个目录来让我们将您的设置拷贝过来,代替我们生成的。 -debug: 进入debug模式,会有更多的跟踪调试信息 -htmlSuite : 使用指定的浏览器(例如*firefox)在指定的URL(例如),运行一个单独的HTML Selenese (Selenium Core)测试套件然后立即退出。您需要指定HTML测试套件的绝对路径还有我们将会生成的HTML测试结果文件的路径。 -proxyInjectionMode: 进入代理注入模式,这个模式中selenium服务器作为进入测试程序的所有内容的代理服务器。在这个模式下,可以跨多个域访问,并且还支持如下附加参数: -dontInjectRegex : 附加的正则表达式,代理注入模式能够使用它决定是否进行注入 -userJsInjection : 指定一个JavaScript文件,将它注入到所有页面中 -userContentTransformation : 一个正则表达式,对所有被测HTML内容进行匹配;第二个string将会对替换所有匹配的内容。这个标志能够使用多次。一个简单的适合使用这个参数的例子:如果你添加-userContentTransformation https http那么测试应用程序的HTML中的所有https字符串都会被替换为http。 另外,还支持两种Java系统属性:-DxyHost 和 -DxyPort。使用Selenium服务器作为代理服务器,Selenium RC一般重载你的代理服务器配置。使用这个参数适合在使用Selenium服务器代理的同时使用你自己的代理服务器。使用代理服务器时这样配置:java -DxyHost= -DxyPort=1234 -jar selenium-server.jar如果你的HTTP代理服务器需要验证,你还可以在xyHost和xyPort后面设置-DxyUser 和 -DxyPassword。java -DxyHost= -DxyPort=1234 -DxyUser=joe -DxyPassword=example -jar selenium-server.jar三、编写Selenium RC脚本1、 新建一个project,在Project里引入selenium-java-client-driver.jar2、 新建一个java class,输入如下代码:package Selenium.Test; import com.thoughtworks.selenium.*; public class seleniumTest private Selenium selenium; public void setUp() selenium = new DefaultSelenium(5, 4444, *iexplore, /); selenium.start(); public void testGoogle() selenium.open(/); selenium.type(q, selenium); selenium.click(btnG); selenium.waitForPageToLoad(30000); boolean testResult = (selenium.isTextPresent(Selenium web application testing system); if (testResult) /用例成功 System.out.print(Search selenium web is ok!); else /用例失败 System.out.print(selenium web not found!); public static void main(String args) seleniumTest st = new seleniumTest(); st.setUp(); st.testGoogle(); package Selenium.Test;import com.thoughtworks.selenium.*;public class seleniumTest private Selenium selenium;public void setUp() selenium = new DefaultSelenium(5, 4444, *iexplore, /); selenium.start(); public void testGoogle() selenium.open(/); selenium.type(q, selenium); selenium.click(btnG); selenium.waitForPageToLoad(30000); boolean testResult = (selenium.isTextPresent(Selenium web application testing system); if (testResult) /用例成功 System.out.print(Search selenium web is ok!); else /用例失败 System.out.print(selenium web not found!); public static void main(String args) seleniumTest st = new seleniumTest(); st.setUp(); st.testGoogle(); 试着运行一下,看下结果。上段代码,做了如下几件事情:?l 启动Selenium事例selenium = new DefaultSelenium(服务器地址, 端口号, 启动模式, 被测对象URL-BaseURL);selenium.start();其中,启动模式即以何种方式启动浏览器,其中常用到的有*firefox, *iehta, *iexplore. 全部模式如下:*konqueror*firefox:启动Firefox作为测试浏览器*iexploreproxy*firefoxproxy*safari*safariproxy*iexplore:启动IE作为测试浏览器*pifirefox*chrome*firefox2*piiexplore*googlechrome*iehta:以本地应用程序hta模式测试*firefox3*mock*opera*customl 通过Selenium Server向浏览器发送指令模拟用户操作在浏览器里打开baseURL,即 selenium.open(/); 在id是q的text输入框里,输入“selenium” selenium.type(q, selenium);点击id or name 是btnG的button,即点击google的“Google搜索”按钮selenium.click(btnG);等待页面载入,参数单位是毫秒 selenium.waitForPageToLoad(30000);? l 判断结果isTextPresent是从当前页面查找指定的文本,返回值是布尔型的。当然,关于结果的判断有多种方式。可以参考Selenium reference (/sel
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳务合同模板
- 租赁合同:融资租赁协议3篇
- 集体耕地承包合同2篇
- 瑞吉氏染色课件
- 安全方面的培训课题课件
- 理财和养老课件
- 理想华莱课件教学
- 店面升级装修工程方案(3篇)
- 电厂氨水改造工程方案(3篇)
- 球磨机培训课件
- 资源调查与评价-课件
- 新型给药系统行业分析报告
- 特种设备日管控、周排查、月调度模板
- 山东钢铁集团矿业有限公司彭集铁矿采选工程项目环境影响报告
- 员工信息安全培训手册
- 华为项目管理10大模板Excel版可直接套用-非常实用
- 空管三校联考复习题(DOC)
- GB/T 27021.3-2021合格评定管理体系审核认证机构要求第3部分:质量管理体系审核与认证能力要求
- 3000储罐预制安装施工方案
- 食品工程原理(课堂)课件
- 五年级上册数学课件-《练习一》北师大版 (共10张PPT)
评论
0/150
提交评论