Web自动化测试selenium之JAVA使用介绍篇
最近想使用selenium进行WEB自动化测试,在网上搜索了许久,没找到有具体的配置,于是结合网上的资料再加上自己的尝试终于搭建好环境。于是,就想整理一篇文章,便于大家交流使用。
本文是参照官网的步骤进行的但也不完成相同。在这里我要讲的是 java 的环境的搭建。 我是通过MyEclipse10.0来搭建自己的环境的。
一、环境准备
- JDK;
- MyEclipse10.0;
- Junit 4 ,因为我使用的 MyEclipse10.0已经集成了Junit 4所以就不需要再安装插件了。需要的朋友可以到 https://github.com/KentBeck/junit/downloads 上进行下载;
- Firefox ,我使用的是 Firefox 13.0 ;
-
selenium IDE,
打开
官网链接
http://seleniumhq.org/download/
里面有Selenium IDE的下载链接,我下载的版本是1.9.0;
- Selenium RC ,打开 官网链接 http://seleniumhq.org/download/ 点击 previous releases 链接,找到Selenium RC 对应的下载源,下载你需要的版本,我下载的是selenium-remote-control-0.9.2-dist.zip,然后返回到 http://seleniumhq.org/download/ 页面,下载 Selenium Server,我下载的是selenium-server-standalone-2.25.0.jar,最后下载针对java语言的Seleniumlient Drivers,我下载的是 selenium-java-2.25.0.zip。
二、Selenium IDE
Selenium-IDE是用于selenium测试的一个集成测试工具,他被嵌套在firefox中,作为firefox的一个组件来使用。并且通过它,测试人员可以录制在web界面上的一切操作,并且进行编辑,调试和快速回放,就像用户在操作一样。
- Selenium IDE的安装
打开 firefox 浏览器,进入官方网址: http://seleniumhq.org/download/ 找到 selenium IDE 的下载链接, firefox 会有提示安装插件,点击安装即可。
- Selenium IDE的使用
打开 firefox 浏览器,点击“工具”,选择Selenium IDE,弹出如下页面:
点击红色按钮,开始录制脚本。录制完成后,点击红色的按钮,结束录制。
点击绿色的三角按钮回放录制的脚本。在运行脚本后,你会发现 IDE 表格的颜色发生了变化,运行前,脚本表格为白色,成功运行完毕后,表格为青色。其中还分为深青色和浅青色两种,浅青色表示: 动作成功;而深青色表示:判断正确。
需要注意的是,Base URL需要填写为你要测试的WEB应用的URL。
录制完脚本后,将脚本导出出为 junit 4 类型的代码,我这里保存为 LoginTest.java 并复制到项目中。
三、Selenium RC
Selenium RC可以使用高级语言来编写web页面测试脚本,编写的脚本可以运行在任何支持js的浏览器中。Selenium RC包括两部分:Selenium服务器和Selenium客户端程序。
- Selenium服务器。
能够自动的开启和关闭web浏览器。对于web的请求,它就像一个http代理,SeleniumServer通过向浏览器发出JavaScript调用实现对Html页面的全面追踪,并通过网络把执行结果返回给Selenium客户端 。另外,由于selenium服务器是用JAVA开发的,所以在搭建测试环境的时候,需要安装java的环境。
我们在环境准备过程中下载的selenium-server-standalone-2.25.0.jar即为服务端程序。
启动方式如下:
开始---运行---cmd,打开cmd定位到selenium-server-standalone-2.25.0.jar所在目录,输入:
java -jar selenium-server-standalone-2.25.0.jar
回车,服务就启动了。
服务启动后默认端口是4444。http://code.google.com/p/selenium/wiki/Grid2 这里讲解了如何启动服务修改默认端口等,在这里我就不说明了,如果需要大家可以到该wiki上查看。
- Selenium客户端程序。
Selenium客户端一般使用单元测试技术实现,通过判断返回的结果与预期是否一致来决定程序是否运行正确, selenium客户端测试程序可以使用java、php、.net等高级语言来编写。
搭建客户端环境需要引入两个jar包,一个位于我们之前下载的selenium-remote-control-0.9.2-dist.zip压缩包中,是该压缩包中selenium-java-client-driver-0.9.2文件夹内的selenium-java-client-driver.jar,另一个位于 selenium-java-2.25.0.zip压缩包中,是该压缩包中selenium-2.25.0 文件夹内的selenium-java-2.25.0.jar 。需要将这两个jar引入到我们的测试工程中,还需要引入JUnit对应的jar。
创建 JUnit test case文件,文件名为LoginTest和我们之前 导出的 junit 4 类型的代码名称相同,然后将 之前 导出 的代码复制到新创建的文件中即可。
代码内容如下:
import com.thoughtworks.selenium.*; import org.junit.After; import org.junit.Before; import org.junit.Test; import java.util.regex.Pattern; public class LoginTest extends SeleneseTestCase { @Before public void setUp() throws Exception { selenium = new DefaultSelenium("localhost", 4444, "*iexplore", "http://localhost:8080/portal"); selenium.start(); } @Test public void testLogin() throws Exception { selenium.open("/portal/"); selenium.type("id=name", "13900000000"); selenium.type("id=password", "11"); selenium.type("id=rs", "1377"); selenium.click("id=btn1"); selenium.waitForPageToLoad("30000"); } @After public void tearDown() throws Exception { selenium.stop(); } }
最后在MyEclipse中运行LoginTest即可开始自动化测试。
此处需要注意在执行自动化测试的时候Selenium服务时启动的。
阅读更多
- SELENIUM中文教程之Selenium+ Webdriver+JAVA 自动化测试 环境搭建( SELENIUM自动化测试入门基础)
- selenium(java)之RemoteWebDriver的基本使用
- Selenium 2.0 WebDriver 自动化测试 使用教程 实例教程 API快速参考
- 50.[Python]使用Selenium包做Web页面自动化测试详解
- java web + testNG + ant + Selenium整合对IE浏览器的自动化测试一(工具安装)
- Selenium WebDriver API 进阶使用,模块化参数化进行自动化测试设计
- 用python做自动化测试--web 自动化测试(1)-Selenium 3.x使用系列问题集
- Selenium+ Webdriver+JAVA 自动化测试 环境搭建( SELENIUM自动化测试入门基础)
- [置顶] 使用Java-selenium自动化测试技术获取网页数据(以上交所公告信息及监管信息为例)
- Selenium + Java 做 WEB GUI 自动化测试中提升代码质量的方法
- 使用 Selenium 实现基于 Web 的自动化测试
- Selenium2(JAVA) Web自动化测试实战 电子书百度阅读正式上架 欢迎试读购买
- 使用 Selenium 实现基于 Web 的自动化测试
- Cucumber java + Webdriver (4) 使用自动化测试的Page对象模式
- 【软件测试】Java中Selenium Webdriver的使用
- 自动化测试selenium webdriver简单入门教学java版
- Selenium Webdriver 的使用java执行js代码 解决 ScriptEngine不支持浏览器内置对象window,document的问题
- selenium(java)之RemoteWebDriver的基本使用
- Selenium 2.0 WebDriver 自动化测试 使用教程 实例教程 API快速参考
- Selenium 2.0 WebDriver 自动化测试 使用教程 实例教程 API快速参考