手把手__SELENIUM_JAVA搭建_总结汇总篇_第1页
手把手__SELENIUM_JAVA搭建_总结汇总篇_第2页
手把手__SELENIUM_JAVA搭建_总结汇总篇_第3页
手把手__SELENIUM_JAVA搭建_总结汇总篇_第4页
手把手__SELENIUM_JAVA搭建_总结汇总篇_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、手把手教你Selenium_前期知识准备 在开始selenium之前,总得知道selenium是做啥的,环境大致需要些什么软件,如何进行的测试。关于selenium的相关背景知识,推荐文档:Selenium私房菜(新手入门教程).pdf下载:XPath教程.pdf 是讲解对象引用的常见方法xpath的,差不多翻翻看得懂就行,反正firefox有插件firebug,可以即时看看对象的xpath。自己编写xpath基本上不会遇到。下载:Selenium 中文API.doc 这个是参考手册,留在手边用作参考吧,还是中文版的,比较难得。下载:手把手教你selenium_搭建环境_软件下载 我期望的se

2、lenium开发流程是:1 打开firefox,打开seleniumIDE进行脚本录制和回放,调试的时候可能需要firebug插件查看页面中的对象;2 生成junit4的java代码后,导入eclipse的java工程中,启动seleniumRC,然后直接运行回放脚本。假设读者和我一样是全面空白状态,那就需要下载的文件清单:1 firefox2 seleniumIDE3 firebug4 SeleniumRC5 Selenium Client Drivers6 JDK1.67 Eclipse8 JUNIT4Selenium相关介质下载:1. 下载firefox:下载得到文件:Firefox-l

3、atest.exe2. 下载seleniumIDE/projects/ide/选择download的TAB页下载 seleniumIDE1.4.1,下载文件为:selenium-ide-1.4.1.xpi3. 下载安装firebug下一篇文章讲解环境的搭建4. 下载SeleniumRC/projects/ide/选择download的TAB页下载的2.12.0,下载文件为:selenium-server-standalone-21.12.0.jar5. 下载Selenium Client Drivershttp:/

4、/projects/ide/选择download的TAB页获取selenium-java-client-driver.jar,用于java 语言的Selenium 开发下载文件为:selenium-java-21.12.0.zip,解压为:selenium-2.12.0,里面包含selenium-java-2.12.0.jar。selenium帮助文档:6. 下载JDK1.6Jdk下载可以到官网:我自己是用的:jdk1.6.0_187. 下载eclipse下载eclipse:/downloads/Eclipse Classi

5、c 3.7.1, 174 MB,我本机是xp系统的,所以下载的是32bit的版本8. 下载JUNIT4通常下载安装eclipse的时候会带上junit,没必要单独去下载junit,下载:下载文件名为:junit-4.10.jar好吧,下载完上面文件清单, 下一篇就讲讲环境搭建了手把手教你selenium_搭建环境_软件安装 下载完成下面的文件后,开始安装环境:1 firefox2 seleniumIDE3 firebug4 SeleniumRC5 Selenium Client Drivers6 JDK1.67 Eclipse8 JUNIT4Selenium相关介质下载:1. 安装firefo

6、x:安装步骤:002.jpg2. 安装seleniumIDE打开firefox浏览器,把selenium-ide-1.4.1.xpi拖放到firefox003.jpg点击立即安装,安装完成后,提示,点击立即重启:004.JPG重启浏览器后,工具栏出现seleniumIDE005.JPG3. 下载安装firebug打开firefox浏览器,选择工具附加组件,打开附加组件管理器页面,搜索firebug,点击安装,重启浏览器后生效:006.jpg4. SeleniumRC启动seleniumRC的方法:java -jar selenium-server-standalone-21.12.0.jar0

7、09.jpg5. Selenium Client Drivers使用Eclipse中建立java工程后,引用selenium-java-2.12.0.jar6. JDK1.6Jdk1.6我没有使用安装版本,直接拷贝后,设置环境变量:我的电脑属性高级环境变量创建环境变量JAVA_HOME,修改PATH例子:PATH=$PATH;%JAVA_HOME%binJAVA_HOME=C:jdk1.6.0_18测试环境变量设置是否生效:任意路径下输入:java version返回:java version 1.6.0_15Java(TM) SE Runtime Environment (build1.6.

8、0_15-b03)Java HotSpot(TM) Client VM (build 14.1-b02,mixed mode, sharing)7. eclipse配置好JDK就可以了,绿色版本不用安装8. JUNIT4Eclipse中建立java工程后,还需要引用junit-4.10.jar整个环境搭建好了,下一篇文章就讲讲如何完成一个selenium的测试回放流程。手把手教你selenium_第一个脚本_登录新浪微博 假定各位以前看过前两篇文章,已经搭建好了环境,现在开始录制回放第一个selenium的脚本:登录新浪微博基本的步骤是:1 打开firefox,设置seleniumIDE选项,

9、使之可以录制下junit的代码;2 使用seleniumIDE进行录制,生成代码;3 设置断言;4 打开eclipse,创建工程,新建包,包下面创建类,贴入代码;5 工程引用相关的库文件;6 调试:一步步运行回放第一步:打开firefox,设置seleniumIDE选项,使之可以录制下junit的代码;先在firefox的工具菜单中打开seleniumIDE,然后在seleniumIDE1.4.1窗口中,打开菜单,按照下图设置:001.JPG设置好该项后,就可以录制出junit的脚本,否则缺省录制出selenium脚本,selenium脚本可以在seleniumIDE中回放,而junit的脚本

10、就需要导入ecplise中来执行了。002.JPG第二步:使用seleniumIDE进行录制,生成代码;seleniumIDE点击录制,在firefox中访问网址,进行操作,操作完成后,页面暂时不要关闭,seleniumIDE停止录制,这时可以看到生成的junit代码,记得我们的版本是junit4呀。package com.example.tests;import com.thoughtworks.selenium.*;import org.junit.After;import org.junit.Before;import org.junit.Test;import java.util.re

11、gex.Pattern;public class Untitled extends SeleneseTestCase Beforepublic void setUp() throws Exception selenium = new DefaultSelenium(localhost, 4444, *chrome, selenium.start();Testpublic void testUntitled() throws Exception selenium.open(/login.php);selenium.click(id=loginname);selenium.type(id=logi

12、nname, xxx);selenium.type(id=password, xxx);selenium.click(css=#login_submit_btn img);Afterpublic void tearDown() throws Exception selenium.stop();第三步:设置断言断言是代码级别的称谓,对于测试就是校验点,假定以是否出现发微薄的文本框为是否成功登录的校验点打开firebug:004.JPG005.JPG先点击firebug的,将鼠标移动到文本框控件上面,会出现浮动的蓝色框,点击鼠标左键,如下图,在文本上右键鼠标,选择复制XPath,得到该文本框的唯一

13、引用006.JPG在点击了登录按钮后,新增加一句:assertTrue(selenium.isElementPresent(xpath=/html/body/div/div2/div/div/div/div/div/div4/div/div/textarea);断言是什么?要不先翻翻手册吧。第四步:打开eclipse,创建工程,新建包,包下面创建类,贴入代码;创建工程:FileNewProjects-java projects项目名称:prjSelenium1Finish创建包:如下图选择上新建的项目- FileNewPackage包名:pkgTest007.JPG:类似上图,选择上包- Fi

14、leNewClass类名:ClsTestfinish把之前的代码贴入ClsTest.java,修改下面标粗的内容:package pkgTest;import com.thoughtworks.selenium.*;import org.junit.After;import org.junit.Before;import org.junit.Test;import java.util.regex.Pattern;public class ClsTest extends SeleneseTestCase Beforepublic void setUp() throws Exception sel

15、enium = new DefaultSelenium(localhost, 4444, *chrome, selenium.start();Testpublic void testUntitled() throws Exception selenium.open(/login.php);selenium.click(id=loginname);selenium.type(id=loginname, xxx);selenium.type(id=password, xxx);selenium.click(css=#login_submit_btn img);assertTrue(selenium

16、.isElementPresent(xpath=/html/body/div/div2/div/div/div/div/div/div4/div/div/textarea);Afterpublic void tearDown() throws Exception selenium.stop();将包名和类名改的和新建的一致第五步:工程引用相关的库文件;可以看到现在的代码全是红杠杠,那是因为找不到相应的库。选择项目名,右键选择属性,按照下图设置:008.JPG此处的库文件包括了前文下载的相关的jar包。三类jar包分别是模拟客户端,模拟服务器端(细节请看Selenium私房菜(新手入门教程).p

17、df),虚拟机。很快代码的红杠杠就没了,有些变成了黄杠杠,都是建议的,可以不用管他。第六步:调试:一步步运行回放首先需要启动seleniumRC,我自己创建了一个批处理,大家可以参考:F:cd F:TOOLjavaprjSeleniumseleniumRCjava -jar selenium-server-standalone-21.12.0.jar服务启动完成后(启动后啥样子,前一篇文章已经讲过),在代码上设置一个断点,光标停留在需要中断的语句处,按下ctrl+shift+b,由于旁边有黄色标记挡住了,有点看不出来是否设置成功了,仔细看看,会发现有那么几个象素点的变化的。我把断点设置在了。现

18、在可以清理一下环境了,关闭firefox和seleniumIDE(当然你喜欢乱点也无所谓),选择ClsTest.java,右键选择Debug AsJunit Test,代码就开始运行了,停在了断点处,后续就什么F5,F6,F7(到时候看看ecplise的Run菜单)啥的往后一步步执行了。好了,看看最后效果如何:009JPG期间可能会遇到的问题:问题1:java.lang.RuntimeException: Could not contact Selenium Server; have you started it on localhost:4444 ?Read more at http:/se

19、/projects/remote-control/not-started.htmlConnection refused: connect解决方法:运行前需要先启动seleniumRC,编写批处理:F:cd F:TOOLjavaprjSeleniumseleniumRCjava -jar selenium-server-standalone-21.12.0.jar问题2:java.lang.NoClassDefFoundError: com/google/common/base/Charsets解决方法:添加:selenium-server-standalone-21.1

20、2.0.jar问题3:java.lang.RuntimeException: Could not start Selenium session: Failed to start new browser session: java.lang.RuntimeException: Firefox 3 could not be found in the path!Please add the directory containing firefox.exe to your PATH environmentvariable, or explicitly specify a path to Firefox

21、 3 like this:*firefox3 c:blahfirefox.exe解决方法:我的电脑属性高级环境变量系统变量PATHPATH=$PATH;D:Program FilesMozilla Firefox需要重新启动一次eclipseThats All. God bless u!手把手教你selenium_如何使用google浏览器 .现在浏览器种类太多了,但是项目开发的时候是推荐用户使用google浏览器,所以最好在google浏览器上测试。这事就讨厌了,照理首选qtp,不过这货现在变成了伤不起的胖纸,以前还几百兆呢,上次再见就一个多G了,最新的qtp据说已经肥到了坑爹的三个G,且不

22、说需要去搞一个DB,还得装一个google浏览器的补丁,但是即便如此,代码是不可以录制的,只能徒手编程,神 哪。算了吧。现在手上有个Testcomplete7.5,这个工具的能力毋庸置疑,的确不错。不过TC7.5支持比较好的是IE6。-_-|最后我没辙了,只好选择了selenium来完成这个任务。说两部分,一部分是交互模式的,一部分是代码中自动回放的,其实都是一回事。第一部分:交互模式使用google浏览器在selenium中启用google浏览器是很简单,其实只是一个配置的不同而已。之前启动seleniumRC是命令:java -jar selenium-server-standalone-

23、21.12.0.jar现在要修改为交互模式:java -jarselenium-server-standalone-21.12.0.jar interactive: Selenium服务器的“交互模式”是一种不需要任何代码的原型测试,因此有必要对初学者介绍Selenium Remote Control。在交互模式下,你可以在Selenium 服务器窗口中输入一行行的命令,在工作窗口的某个位置中立刻会执行你命令的结果。通常你可以选用你喜欢的语言编写你的测试代码,整个过程都是完全自动化的。以我的理解,交互模式可以理解为一个命令解释器,selenium的各种命令你可以在这里一个命令一个命令的执行。而

24、其实质是eclipse中的命令传入seleniumRC中后,是生成了一个参数串,传递给了seleniumRC启动的服务器。现在启动一下试试:F:TOOLjavaprjSeleniumseleniumRCjava -jar selenium-server-standalone-21.12.0.jar -interactive2011-11-25 15:36:32 org.openqa.grid.selenium.GridLauncher main信息: Launching a standalone server15:36:33.000 INFO - Java: Sun Microsystems

25、Inc. 16.0-b1315:36:33.000 INFO - OS: Windows XP 5.1 x8615:36:33.016 INFO - v2.12.0, with Core v2.12.0. Built from revision 1466615:36:33.188 INFO - RemoteWebDriver instances should connect to: :4444/wd/hub15:36:33.188 INFO - Version Jetty/5.1.x15:36:33.188 INFO - Started HttpContext/s

26、elenium-server/driver,/selenium-server/driver15:36:33.188 INFO - Started HttpContext/selenium-server,/selenium-server15:36:33.188 INFO - Started HttpContext/,/15:36:33.234 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandlerb8deef15:36:33.234 INFO - Started HttpContext/wd,/wd15:36:33.234 INF

27、O - Started SocketListener on :444415:36:33.234 INFO - Started org.openqa.jetty.jetty.Server122cdb6Entering interactive mode. type Selenium commands here (e.g: cmd=open&1=)输入: cmd=getNewBrowserSession&1=*googlechrome&2=15:36:53.360 INFO - - Requesting http:/localhost:4444/selenium-server/driv

28、er?cmd=getNewBrowserSession&1=*googlechrome&2=15:36:53.516 INFO - Checking Resource aliases15:36:53.516 INFO - Command request: getNewBrowserSession*googlechrome, http:/ on session null15:36:53.516 INFO - creating new remote session15:36:55.266 INFO - Allocated session d1a4c7b4feda46719bdc3779da4c1e

29、6d for http:/, launching.15:36:55.266 INFO - Launching Google Chrome.15:37:02.454 INFO - Got result: OK,d1a4c7b4feda46719bdc3779da4c1e6d on session d1a4c7b4feda46719bdc3779da4c1e6d15:37:07.344 INFO - Couldnt proxy to http:/otvhjaxnnw/ because host not found15:37:07.344 INFO - Couldnt proxy to http:/ybovcjpmnr/ because host not found15:37:07.344 INFO - Couldnt proxy to http:/wbkbpmwxwd/ because host not found15:37:08.907 INFO - Started SocketListener on :1446615:37:09.266 INFO - Started SocketListener on :14469你可能会问为啥知道输入:*googl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论